C 中的布尔整数转换
在 C 编程语言中,经常需要在不同类型的数据之间进行转换。一种常见的转换是布尔值和整数之间的转换。问题出现了:对于任何 C 编译器,我们能否假设布尔值 true 等于整数 1?
答案
是的,可以安全地假设对于任何 C 编译器来说 (bool)true == (int)1 。这是因为以下原因:
因此,无论使用什么 C 编译器,表达式 true == 1 的计算结果都会为 true。此行为在 C 标准 (4.7 [conv.integral]) 中指定,其中规定“如果源类型为 bool...true 将转换为 1。”
以上是在 C 布尔整数转换中,'true”总是等于'1”吗?的详细内容。更多信息请关注PHP中文网其他相关文章!