在c语言中a==b==c与a==b,b==c有区别吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 11:03:28
在c语言中a==b==c与a==b,b==c有区别吗?

在c语言中a==b==c与a==b,b==c有区别吗?
在c语言中a==b==c与a==b,b==c有区别吗?

在c语言中a==b==c与a==b,b==c有区别吗?
这个太有区别了!
a==b==c 是一个关系表达式,由于运算符"=="具有左结合性,故其运算顺序是:
((a==b) ==c )
若a=5,b=5,c=5,则a==b的值为1,而1==c的结果为0
a==b,b==c是分别判断a和b以及b和c关系运算
补充,楼上说a==b==c是先执行b==c是错误的,因为C语言中只有赋值运算符和单目运算符具有右结合性,故运算对象b必然先于左侧的"=="结合.
再次补充:这不是赋值的问题,没有赋值运算符,而是关系运算