关于C语言while中scanf的使用
int a=0,b;
while(scanf("%d",&b)==1)a++;
printf("%d",a);
我想用这段程序统计输入数的个数
这段程序用GUIDE编译运行可以按CTRL+D结束输入,但是输完数后必须按个回车再CTRL+D才出结果,不按回车没结果
还有,这段程序用Anjuta编译后不管怎么按,都不会出结果
这是为什么呢
还有没有更好的算法呢,求大神赐教
(我是在Linux下操作的)
还有这个CTRL+D到底干吗的呢
[解决办法]
按回车才会把数据从缓冲区取回,CTRL+D相当于EOF结束符。
[解决办法]
int a=0,b,r;while(1) { r=scanf("%d",&b); if (1==r) a++; else if (0==r) getchar();//跳过该字符 else break;//-1==EOF==r}printf("%d",a);
[解决办法]
ctrl + D means EOF