下面程序中 while (scanf("%d %d", &a, &b) == 2)什么意思?

#include <stdio.h>
int main()
{
int a, b;
while (scanf("%d %d", &a,&b) == 2)
{
if (a %b) printf("不能整除\n");
elseprintf("能整除\n");
}
return 0;
}

scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-13
scanf()函数返回的值的意义为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
就是说正确接收值的个数。因此只要按格式输入2个int数,结果都是2

假如scanf("%d%d",&i,&j)。你输入时10 20 则scanf返回为2 ,进入循环
第2个回答  2015-01-10
貌似这句应该是错误的。本回答被提问者采纳
第3个回答  2021-08-24
scanf("%d%d", &a, &b);
a和b都有输入,结果是2
只输入a,结果是1
如果没有输入,结果是0
相似回答