字符转为 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了