简单的C语言问题:scanf函数%d之间加空格

#include <stdio.h>
main()
{int i;
scanf("%d",&i);
printf("%d",i);
}
上面的程序如果在scanf函数中的%d之间即%和d之间加空格,即% d,会输出一个不确定的数-858993460,请问是什么回事,哪位注意到并知道是什么原因的请解释一下????
多谢一楼的回答,原因就是没有正确读入数据,输出才会随机。。。
不过还有一点我想问,像%d,%d输入的时候只要加个逗号,而%d%d加空格就行了,而% d这种情况要怎么输才正确,还是怎么输入都错误呢,,,,

因为这样没有正确的读入数据到i,由于i不是全局变量,不会有初值(0),所以是一个随机的数。

这也正是C语言经常遇到的问题,输入必须和scanf里面的内容相同,比如经常有人scanf("%d,%d",&a,&b),输入就必须是"5,7",而若只输入"5 7"那就出错了

补充:

怎么输都错,因为想要读就必须存在至少一个"%d",显然找不到这个
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网