c++ cout的输出<< 1 \u0026\u0026 0;

我不明白为什么下面的代码打印1.

1&& 0与真实&& false – >假?

为什么不打印0?

#include <iostream>

using namespace std;

int main(){
    cout << 1 && 0;
    return 0;
}
最佳答案
这一切都是关于Operator Precedence.

重载的按位左移位运算符<(std :: basic_ostream)具有比逻辑AND运算符&&更高的优先级.

#include <iostream>
int main() {
    std::cout << (1 && 0);
    return 0;
}

如果您不确定运算符的优先级,请不要犹豫使用括号.大多数现代IDE都会告诉您是否需要使用它们.

转载注明原文:c++ cout的输出<< 1 \u0026\u0026 0; - 代码日志