C++中bool类型变量初值对程序的影响

 很困惑的一个问题

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     //bool a=true;
 7     //非0(1,2,3,……)输出123
 8 
 9     bool a=false;
10     //非1(0,2,3……)输出456
11 
12     cin>>a;
13     if(a)
14         cout<<"123"<<endl;
15     else
16         cout<<"456"<<endl;
17     return 0;
18 }

 按正常理解,不管给a初值是多少,后面结果应该都是一致的,但是事实上输出结果有很大差异

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

原文地址:https://www.cnblogs.com/Arthurian/p/5951072.html