读书人

scanf()中的格式字符有关问题

发布时间: 2012-05-27 05:42:30 作者: rapoo

scanf()中的格式字符问题
比如 int i;
scanf("%c",&i);
我可不可以理解成:输入一个字符,然后把这个字符(隐式)赋值给变量i?
如果我的理解正确的话,那么请看下面代码
int i;
scanf("%c",&i);
printf("%d",i);
如果我的理解正确,这里当输入一个字符‘!’的时候,最后应该会输出33才对啊,但是系统却输出-858993631
到底是怎么个回事呢?

[解决办法]

C/C++ code
    int i = 0;    scanf("%c",&i);    printf("%d",i);
[解决办法]
探讨

C/C++ code

int i = 0;
scanf("%c",&i);
printf("%d",i);



int有4个字节,你只修改了第一个字节,其他三个字节的值未初始化

读书人网 >C语言

热点推荐