首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于C语言while中scanf的运用

2012-09-13 
关于C语言while中scanf的使用int a0,bwhile(scanf(%d,&b)1)a++printf(%d,a)我想用这段程序统计

关于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结束符。
[解决办法]

C/C++ code
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

热点排行