int main(){
//布尔类型输入
bool flag = true;
cout << "请输入布尔型变量:" << endl;
cin >> flag;
cout << flag << endl;
//while(1)
//{
// float t=0;
// cin>>t;
// cout <<(bool) t<< endl;
//}
system("pause");
return 0;
}
我自己做的博客
http://t.csdn.cn/gQHSf
你可以看看。
知识点是bool类型,当你输入一个非0的数字的时候会默认为1
但是vs2022和 vs2015对这个方面有异议,vs2015当bool类型为false的时候,你输入任何非0非1的数都为0
你输入1.5呢?
bool实际相当于整数,你输入0.5,1.5等等,会自动截取小数点前的数值作为输入数
你犯了个初学者容易犯的错误,把cin和cout理解为强制转换了
其实cin并不能转换类型
这跟你执行bool b=0.5是完全不一样的
作为新手来说,研究不按照规定录入内容会得到什么奇怪的结果没有意义
你就应该按照规定的格式录入数据
或者为了避免别人不按规定的格式录入数据,你的数据格式应该是字符串,然后再通过判断字符串内容是否符合规则,提示错误信息或者转换成对应的正确格式进行计算