0
#include <iostream>
using namespace std ;
int main()
{
    int a=5, b=4;
    cout<< a==b;
}

为什么我不能打印此代码。如何打印布尔值?

4

4 回答 4

7

您正在处理运算符优先级问题:

cout << a==b;

被解释为

(cout << a) == b;

因为 << 的优先级高于 ==。

于 2012-10-21T14:37:29.900 回答
7

使用std::boolalpha打印为trueor false。并添加括号,请参阅 Vaughn Cato 的答案以获得解释。

#include <iostream>
#include <iomanip>
using namespace std ;
int main()
{
    int a=5, b=4;
    cout<< boolalpha << (a==b);
}
于 2012-10-21T14:32:55.780 回答
1

您必须在测试周围加上括号:

cout<< (a==b);
于 2012-10-21T14:32:46.890 回答
0

将圆括号(括号)放在a==b

cout<< (a==b);

这是必需的,因为<<运算符优先级高于==.

于 2012-10-21T14:33:01.597 回答