c++布尔问题

2022-01-19 00:00:00 boolean c++

在 c++ 中,布尔值是 true == 1,false == 0 吗?谢谢

in c++ , the bool , is that true == 1, false == 0?? thanks

推荐答案

false == 0 and true = !false

即任何不为零且可以转换为布尔值的东西都不是false,因此它必须是true.

i.e. anything that is not zero and can be converted to a boolean is not false, thus it must be 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,但任何不是falseint(即0)评估为true但不等于到true,因为它不等于 1.

true evaluates to 1, but any int that is not false (i.e. 0) evaluates to true but is not equal to true since it isn't equal to 1.

相关文章