y > 1)` in C 评估是否符合预期? " />
计算链式逻辑运算符:C 中的 (4 > y > 1)
C 中的表达式 (4 > y > 1)对其有效性和评价提出疑问,这里有详细的介绍。解释:
有效性:
表达式本身在 C 中语法上有效,但其语义解释可能出乎意料。
求值顺序:
C 从左到右计算逻辑运算符,因此 (4。 > y > 1) 被解析为 ((4 > y) > 1)。
语义解释:
表达式 ((4 > y) > 1) 将 (4 > y) 的结果与 1 进行比较。(4 > y) 返回如果 y 小于 4,则为 1,否则为 0。
结果:
由于 0 或 1 永远不会大于 1,因此表达式 ((4 > y ) > 1) 始终计算为 false 换句话说,无论值如何,语句 (4 > y > 1) 永远不会为真。 y.
重写:
更有意义的表达式是使用逻辑 AND (&&) 而不是链式大于运算符。例如:
(4 > y) && (y > 1)
仅当 (4 > y) 和 (y > 1) 都为 true 时,此表达式才为 true。
例外:
在某些情况下,链式逻辑运算符的行为可能与预期结果不同。具体来说,如果 y 是重载 > 的类的实例,则运算符,结果可能取决于运算符的实现方式。
以上是C 中的'(4 > y > 1)”是否按预期计算?的详细内容。更多信息请关注PHP中文网其他相关文章!