【发布时间】:2012-10-21 14:31:10
【问题描述】:
#include <iostream>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< a==b;
}
为什么我不能打印此代码。如何打印布尔值?
【问题讨论】:
-
你试过把
a==b放在括号里吗?
#include <iostream>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< a==b;
}
为什么我不能打印此代码。如何打印布尔值?
【问题讨论】:
a==b放在括号里吗?
您正在处理运算符优先级问题:
cout << a==b;
被解释为
(cout << a) == b;
因为
【讨论】:
使用std::boolalpha 打印为true 或false。并添加括号,请参阅 Vaughn Cato 答案以获得解释。
#include <iostream>
#include <iomanip>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< boolalpha << (a==b);
}
【讨论】:
你必须在你的测试周围加上括号:
cout<< (a==b);
【讨论】:
在a==b 周围加上圆括号(括号):
cout<< (a==b);
这是必需的,因为<< 的运算符优先级高于==。
【讨论】:
round brackets。否则我同意括号更准确。