【发布时间】:2011-07-08 12:37:55
【问题描述】:
在 c++ 中,布尔值是 true == 1,false == 0 吗? 谢谢
【问题讨论】:
在 c++ 中,布尔值是 true == 1,false == 0 吗? 谢谢
【问题讨论】:
false == 0 和 true = !false
即任何不为零且可以转换为布尔值的东西都不是false,因此它必须是true。
一些需要澄清的例子:
if(0) // false
if(1) // true
if(2) // true
if(0 == false) // true
if(0 == true) // false
if(1 == false) // false
if(1 == true) // true
if(2 == false) // false
if(2 == true) // false
cout << false // 0
cout << true // 1
true 评估为1,但任何不是false的int(即0)评估为true但不等于到true,因为它不等于1。
【讨论】:
true == 1。其他非零值为真,但不是true。
int(true)==1,和bool(2)==true,但是2 != int(true)。
true 和 等于 到 @987654340 之间的区别@.
是的,这是正确的。 “布尔变量只有两个可能的值:真 (1) 和假 (0)。” cpp tutorial on boolean values
【讨论】: