前情提要:
题目中需要多组输入,需要对scanf函数进行循环,但是无论是while循环还是for循环,一时间难以找到终止循环的条件。
这里补充 scanf (“%d %d”,&a ,&b); 的返回值,此返回值为函数成功读入的数的个数,如果a,b,都成功读入,则返回值为2,若只成功读入一个数,返回值为1。如果都未成功读入,返回0。如果遇到错误或不在输入,则返回EOF,返回值为int 型。
解决问题:
由此,我们就可给出while循环的终止条件
int a = 0, b = 0;
while(scanf("%d %d", &a, &b)!=EOF) //当scanf的返回值不为EOF,即函数仍然有输入,循环继续
{
}
另外,我们在终端手动输入时,系统不知道何时为停止输入,需要用(ctrl + z),然后键入enter,即可结束while。
编程小白,正在学习,如有问题,希望各位大佬指出。