首页 > 后端开发 > C++ > C 中的'(4 > y > 1)”是否按预期计算?

C 中的'(4 > y > 1)”是否按预期计算?

Mary-Kate Olsen
发布: 2024-12-14 02:46:09
原创
920 人浏览过

Does `(4 > y > 1)` C 中的值是否符合预期?
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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板