while(scanf("%d%d",&a,&b)!=EOF,a||b)它起的什么作用?为什么输入 0 0 就结束循环?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 12:45:05

while(scanf("%d%d",&a,&b)!=EOF,a||b)它起的什么作用?为什么输入 0 0 就结束循环?
while(scanf("%d%d",&a,&b)!=EOF,a||b)
它起的什么作用?
为什么输入 0 0 就结束循环?

while(scanf("%d%d",&a,&b)!=EOF,a||b)它起的什么作用?为什么输入 0 0 就结束循环?
while(条件){} 里 的 条件 是 逗号表达式,由2个式子组成.
执行顺序是:
scanf("%d%d",&a,&b);
a||b
逗号表达式的结果, 等于 最右 一个 表达式即 a||b
=======
当输入 0 0 时,
scanf("%d%d",&a,&b); 得到 a=0, b=0;
a||b 等于 0 || 0, 结果 为 0
while(0) 就是条件为假,不再执行循环体.
===
至于
scanf("%d%d",&a,&b)!=EOF 对 while() 的循环 是否终止,不起什么作用.