c语言数组c语言 if(a=b=c==0) break;代表什么意思啊!

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:12:51
c语言
if(a=b=c==0) break;代表什么意思啊!

if(a=b=c==0) break;
当C==0时,跳出循环;并且a=1,b=1。
当C!=0时,a=0,b=0循环继续
可以这样看a=b=(c==0)
c==0 是判断语句 成立为0,不成立为非0
具体如下的例子:
#include<stdio.h>
void main()
{
int a,b,c = 0;
if(a = b = c == 0) printf("a = b = c == 0\n");
printf("a = %d,b = %d,c = %d\n",a,b,c);

c = 1;
if(a = b = c == 0) printf("a = b = c == 0\n");
printf("a = %d,b = %d,c = %d\n",a,b,c);

if(a = b = 2) printf("a = b = 2\n");
printf("a = %d,b = %d\n",a,b);
}
这个例子应该比较清楚了啊,运行一下看一哈结果就更明白了

是一个if条件句循环

如果c等于0,那么a和b全是1
否则a和b全是0

c等于零,c赋给b又赋给a,这就是说三者都是零时,跳出循环。

if(a=b=c==0) break;

可以等价为: if( a == 0 ) break;

因为a 值是 b 给的,b的值是c给的.

说明:
= 是赋值表达式,== 是条件表达式(判断), = 的优先级高于 ==