c语言中 a=5 b=4 c=3 a>b>c是正确的吗 这个算试是从左往右开始的吗 假设是我的理解

c语言中 a=5 b=4 c=3 a>b>c是正确的吗 这个算试是从左往右开始的吗 假设是我的理解是a大于b为真 所以得1 1小于c 所以为0 这样理解对吗? 求大神帮忙 重赏

结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。比较运算也是左结合的,所以你的理解是正确的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-15

C语言中这样写是能够编译通过的,他的计算从左往右,相当于(a>b)>c,你的理解是正确的。

但在编程时不建议写这样的表达式,容易让人产生误解。

第2个回答  2015-09-15
C语言中>符号结合性是从左向右的,所以结果是0
第3个回答  2015-09-15
a>b>c结果必然为0,在C语言里面, a>b 成立,则这个值就为1 ,然后会得到 1 > c ,很显然,1并不大于c,所以最后执行出来的结果只能为0,如果想要这样的式子成立,需要这么写:
a > b && b > c
这样就行了。
不懂继续追问!
第4个回答  2015-09-15
虽然我不是大神,但是我的理解与你一致。
相似回答
大家正在搜