1)
if (((w || x) || y) || z)
2)
if (w || x || y || z)
私が取り組んでいる多くのコードの最初のものを見て、それを2番目のものに単純化できるかどうか疑問に思っています。
1)
if (((w || x) || y) || z)
2)
if (w || x || y || z)
私が取り組んでいる多くのコードの最初のものを見て、それを2番目のものに単純化できるかどうか疑問に思っています。
はい、2 つのステートメントは同等です。
優先順位が同じ 2 つの演算子の間にオペランドがある場合、演算子の結合性によって、操作が実行される順序が制御されます。
- 代入演算子を除いて、すべての二項演算子は左結合です。つまり、操作は左から右に実行されます。たとえば、x + y + z は (x + y) + z として評価されます。
つまり、最初のステートメントでは、w、x、y、または z のいずれかが true かどうかをチェックしています。したがって、2 番目のステートメントは実際には最初のステートメントと同等です。