EXP45-C. 選択文に対して代入を行わない 次の場合は代入演算子を使用しないこと。このような代入演算子は、プログラマが間違いを犯していることを示唆しており、予期せぬ動作を引き起こす可能性がある。 if、switch の制御式 (選択文) while、do...while の制御式 (反復文) for の第 2 オペランド (反復文) ?: の第 1 オペランド (選択文) || や && のオペランド (論理演算子) コンマ演算子の第 2 オペランド (これらのコンテキストでコンマ式を使用する場合) ?: の第 2 および第 3 オペランド (選択文) (これらのコンテキストで三項式を使用する場合) 違反コード 次のコード例では、代入式が if 文の最も外側の式になっている。 if (a = b) { /* ... */ } このコードの意図は、a に b を代入して結果の値が 0 と