菜鸟一枚,为了观察区别,特地运行了下面几个语句
/*阅读程序回答问题,
1.bool类型的false对应数值?true呢?
2.非0整数对应bool型的?0呢?
*/
#include<iostream>
#include<cstring>
using namespace std;
int main(){
cout<<(>)<<(==)<<endl;
bool b=<;cout<<b<<endl;
bool c=;cout<<c<<endl;
bool d=-;cout<<d<<endl;
int e=;cout<<e<<endl;
bool f=;cout<<sizeof(f)<<endl;
if () cout<<"5 true"<<endl;
if (-) cout<<"-5 true"<<endl;
if () cout<<"0 is ?"<<endl;
return ;
}
输出结果:
10
1
1
1
3
1
5 true
-5 true
收获:bool类型占一个字节,对于任何非0整数都代表true,只有0代表false;