bool x =(A || B& C)

时间:2014-05-22 14:05:24

标签: c++ if-statement operator-precedence

此表达式是否等同于((A || B) && C)(A || (B && C))

例如:

设A = 1,B = 0,C = 0。这个表达的结果是什么?它是0(情况1)还是1(情况2)?

1 个答案:

答案 0 :(得分:7)

&&运算符的优先级高于C ++中的||(以及大多数类似的语言),因此您的第二种选择是正确的,即:

(A || B && C) == (A || (B && C))

您可以在此处查看C ++中所有运算符的优先级: http://en.cppreference.com/w/cpp/language/operator_precedence