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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 19:55:32
C语言中a=b==c怎么理解假如inta=1,b=2,c=3,a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?C语言中a=b==c怎么理解假如inta=1

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.