0

私がこのコードを持っているとしましょう(bool1、bool2、およびbool3はブール値です[明らかなはずです)):

if (bool1 && bool2 || bool3)

このifステートメントが真になるのはいつですか? では、bool3 だけが true で、他の 2 つのブール値が false の場合はどうなるでしょうか。だから私はそれが等しいかどうか知りたい

if ((bool1 && bool2) || bool3)

また

if (bool1 && (bool2 || bool3))

そこに括弧を追加するだけでよいことはわかっていますが、そうでない場合はコードが短くなります。

4

1 に答える 1

2

言語の演算子の優先順位表を確認する必要があります。C++ の場合は次のとおりです。

http://en.cppreference.com/w/cpp/language/operator_precedence

13  &&   Logical AND
14  ||   Logical OR

bool1 && bool2 || bool3(bool1 && bool2) || bool3

if-statementブール式を評価することではありません。

于 2013-04-09T12:31:53.250 に答える