读书人

字符转入 ASCII 的额外情况

发布时间: 2014-01-15 15:40:23 作者: rapoo

字符转为 ASCII 的额外情况
正常情况下的代码是这样的
#include<stdio.h>
int main(void)
{
char c;
printf(" return ~~!!\n");
scanf("%c",&c);
printf("%d\n",c);
return 0;
}


我把 char c 修改成 char c[任意数字],
此时结果不正确,
比如 正确的结果
!
33

下面是错误的结果
!
-1076291550


我想问, 后者只是对 C 的大小做出了一个限定,怎么会影响到结果??
求解~~


char c[10];//这样定义后它就是一个数组了
printf(" return ~~!!\n");
scanf("%c",&c[0]);//对单一元素取值,不能在使用&c
printf("%d\n",c[0]);//当然也不能再使用c了


[解决办法]
LZ好好看书

char c;
printf("%d", c);
char a[2];
printf("%d", a[0]);
printf("%d", a);
有什么不同?

读书人网 >C++

热点推荐