#include <iostream>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< a==b;
}
为什么我不能打印此代码。如何打印布尔值?
您正在处理运算符优先级问题:
cout << a==b;
被解释为
(cout << a) == b;
因为 << 的优先级高于 ==。
使用std::boolalpha打印为true
or 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);
这是必需的,因为<<
运算符优先级高于==
.