
#include
using namespace std;
int main()
{
bool x;
cout << "请您手动输入bool的值为:" << endl;
cin >> x;
cout << "结果为:" << x << endl;
return 0;
}

==================== 
#include
using namespace std;
int main()
{
bool x=false;
cout << "请您手动输入bool的值为:" << endl;
cin >> x;
cout << "结果为:" < return 0; } #include using namespace std; int main() { bool x; cout << "请您手动输入bool的值为:" << endl; cin >> x; cout << "结果为:" << x << endl; return 0; } ==================== #include using namespace std; int main() { bool x=false; cout << "请您手动输入bool的值为:" << endl; cin >> x; cout << "结果为:" < return 0; } ==================== #include } 
==========================
【visual studio 2015版】

【即bool类型不赋初值】

【当bool赋初值的时候(会变false)】

为什么会变成这样?
因为当bool类型变量通过cin赋值时,如果输入”非0非1“,变量值不改变。也就是bool类型变量通过cin进行赋值只能键入0或者1,其他无效。
怎么更改呢?
一般通过设置中间量判断,再对bool变量进行间接赋值。无论对x有没有定义,通过int类型变量a来强制赋值bool类型变量x,有效解决上边出现的问题。
【强制赋值】
using namespace std;
int main()
{
bool x=false;
cout << "请您手动输入bool的值为:" << endl;
int a;
cin >> a;
x = a;
cout << "结果为:" <