C语言中scanf函数的在执行时是不是一定要有键盘输入才算执行,如果无键盘输入,是否程序会停在此不动?

for (i = 0;i>4;++i);
scanf("%d",&p[i]); 如果未在键盘是进行输入操作,这个for循环会让 i 自增吗?

当然不会
scanf就是等待你键盘的输入,输入队列阻塞,因此i不自增,直到有输入并回车赋值给数组,也就是执行完scanf语句
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-28
会停止,键盘是c的标准输入设备,但也可以改变,改变后就不用从键盘读取,可能是你设置的某个文件读取(有数据就继续执行下去了)。
第2个回答  2012-02-28
不会,这程序不会往下运行.
第3个回答  2021-08-17
你这个for语句写得有问题
先执行完i=0,然后判断i是否大于4,0<4,所以这个scanf根本不会执行,i也不会自增
改成如下:
for(short i=0/*节省下空间*/;i<4/*从0循环到3*/;i++)
scanf("%d",&p[i]);

相关了解……

你可能感兴趣的内容

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