C语言中 a=b==c怎么理解假如 int a=1,b=2,c=3, a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 09:24:18
C语言中 a=b==c怎么理解假如 int a=1,b=2,c=3,  a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?
xRN@YJ2)./irCUK((&fWw:UKf:39[=.tE1 ۥ#',y!ICqd[D(ZX>Ycb;cX1}֬1ly>.=D?2'3)d#@VЀUیJZ\Z(ȕFyy8Jn|NY&Pea@Ǯę Uv6 ~ . , 'ǐf +Ea`:KLPh) U-$crҎD Klvaw :,J9 N$ЛX2F, A[5 $weeZjjTa*Ik 9VQ^HG;!

C语言中 a=b==c怎么理解假如 int a=1,b=2,c=3, a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?
C语言中 a=b==c怎么理解
假如 int a=1,b=2,c=3, a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?

C语言中 a=b==c怎么理解假如 int a=1,b=2,c=3, a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?
int a = 1,b = 2,c = 3;
a = b = c 意思是将 c 的值赋给 b,再赋给 a,a,b,c 都等于3.
a = b == c,= 的优先级低于 ==,会先判断 b == c 结果为假,就是0值,然后将0值赋给 a,也就是执行后,a = 0,b = 2,c = 3.
a == (b=c),会先讲 c 值赋给 b,然后判断 a 是否等于 b,表达式得到一个0值(a不等于b),但该判断不会影响 a 的值,结果 a = 1,b = 3,c = 3.
a == (b == c) 会先判断 b是否等于c,结果为0,再判断 a 是否等于 0,结果也是0.但该判断不影响a,b,c的值.还是 a = 1,b = 2,c = 3.