while(scanf("%d %d",&a, &b) &&(a!=0 && b!=0))的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:34:23
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) &&(a!=0 && b!=0))
printf("%d\n",a+b);
}
有什么问题?
要求输入a,b输出和,输入0,0结束程序。

输入2,0或者0,2你的程序也会结束,把最后的&&改成||

建议将while循环条件改为:
scanf("%d%d",&a,&b)!=EOF&&(a!=0||b!=0)
EOF表示输入结束,用于文件输入输出较多,键盘输入输出时可以按Ctrl+Z表示结束。至于||问题,asanasdake已经说过了。

没有问题,输入的两个数值中间用空格隔开就OK。