上面的都答的很好
我来补充一个你的追问吧
scanf() 返回的成功读取的数据的个数
所以 while( scanf("%d%d",&a,&b)==2) 就是判断是不是成功读取了2个数字
当scanf()遇到End-of-File的时候会特殊的返回-1,也就是EOF
所以 while(scanf("%d%d",&a,&b)!=EOF) 就是判断是不是还没有读到EOF
在这个题目里面,两种判断都是成立的
至于你提出的 while(scanf("%d%d",&a,&b)) 则是判断成功读取的个数是不是非0,
在本题里面并不是那么消缓山拿中适合,因为只有读取整数失哪租败而没有遇见EOF的时候才返回0
#include
int main()
{
int a,b;
while( scanf("%d%d",&a,&b)==2) //scanf()函数的返回值液尘是它读取到的数据数目,其它情陆友况返回-1
printf("%d\闹悉禅n",a+b);
return 0;
}
#include <烂宏stdio.h>饥蠢册
#include
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
printf("档没%d\n",a+b);
}
return 0;
}
#include <搏悄stdio.h>
int main ()
{
int a,b;
while(scanf("%d%d"基改渣,&a,&b)!=EOF)
{
printf("歼卜%d\n",a+b);
}
return 0;
}