首页 > 后端开发 > C++ > C 是否保证 `(bool)true` 等于 `(int)1`?

C 是否保证 `(bool)true` 等于 `(int)1`?

Susan Sarandon
发布: 2024-12-20 15:06:15
原创
360 人浏览过

Does C   Guarantee that `(bool)true` Equals `(int)1`?

C 编译器能否保证 (bool)true 等于 (int)1?

问题出现:是否可以假设 (bool) true 等于 (int)1,无论 C 编译器是什么使用过?

答案:

是的,这个假设对于所有 C 编译器都成立。表达式中的强制转换是多余的。 bool 值直接转换为 int,按照积分提升的要求,得到值为 1 的 int。

参考:

根据 4.7 [conv .integral] / 4, “如果源类型为 bool...true 会转换为 1。”

以上是C 是否保证 `(bool)true` 等于 `(int)1`?的详细内容。更多信息请关注PHP中文网其他相关文章!

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