假设 int x = 3,y = 4,z = 5 x < y < z 的值为1
问题:是不是先判断 x < y ,再把这个逻辑值与z判断?
计算步骤是这样吗?
x<y 是对的 值是1
1<z 是对的 所以最终结果是1
但是,就算 x<y 的值是0 ,式子的最终结果还是1,对吧
C语言关系表达式的判断x < y < z
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
爱编程的鱼 2023-10-15 20:54关注在C语言中,关系表达式的判断是按照从左到右的顺序进行的。对于表达式 x < y < z,首先会计算 x < y 的结果,然后将这个结果与 z 进行比较。
在你的例子中,x = 3,y = 4,z = 5。根据表达式 x < y < z,首先计算 x < y,结果为真,即 1。然后将这个结果与 z 进行比较,即 1 < z。由于 z 的值为 5,1 小于 5,所以最终结果为真,即 1。
你的理解是正确的。无论 x < y 的结果是真(1)还是假(0),最终结果都是 1。这是因为在 C 语言中,关系表达式的结果是一个布尔值,真表示为 1,假表示为 0。所以无论前面的关系表达式结果如何,最终结果都会被解释为布尔值。
需要注意的是,C语言中的关系运算符是从左到右结合的,所以表达式 x < y < z 实际上被解释为 (x < y) < z。如果你想对两个关系进行逻辑与运算,应该使用逻辑与运算符 &&,即 (x < y) && (y < z)。这样可以确保先进行两个关系的判断,然后再进行逻辑与运算。
解决 无用评论 打赏 举报