先定义一个布尔值
然后写在if()里面 那会执行吗
布尔值 不赋值是不是默认为真
答案:2 悬赏:50
解决时间 2021-04-07 21:55
- 提问者网友:冷天寄予
- 2021-04-06 23:42
最佳答案
- 二级知识专家网友:无字情书
- 2021-04-07 00:51
bool flag[2];
char *p=(char*)malloc(4);
p[0]=0;
p[1]=0;
p[2]=0;
p[3]=0;
bool * pbool=new (p) bool;
if(flag){
cout<<"ture"<<endl;
}
cout<<*pbool<<(int)p[0]<<endl;
cout<<&flag[0]<<endl<<&flag[1]<<endl;
cout<<sizeof(bool);
free(p);
这段代码给出一个猜测思路 bool数据是以char值类型保存的,未初始化和其它数据一样,为上一次使用后的值,但char 256个值就一个值使得 其bool值为false,故基本是 true
在VS2010下面得出bool值不赋值是默认值
char *p=(char*)malloc(4);
p[0]=0;
p[1]=0;
p[2]=0;
p[3]=0;
bool * pbool=new (p) bool;
if(flag){
cout<<"ture"<<endl;
}
cout<<*pbool<<(int)p[0]<<endl;
cout<<&flag[0]<<endl<<&flag[1]<<endl;
cout<<sizeof(bool);
free(p);
这段代码给出一个猜测思路 bool数据是以char值类型保存的,未初始化和其它数据一样,为上一次使用后的值,但char 256个值就一个值使得 其bool值为false,故基本是 true
在VS2010下面得出bool值不赋值是默认值
全部回答
- 1楼网友:青灯壁纸妹
- 2021-04-07 02:07
你好!
具体实现看编译器,gcc的默认为false
如有疑问,请追问。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯