注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
もう5年以上C言語でコードを書いていて、しかも今ではそれで収入を得ている身だというのに、実は今まで... もう5年以上C言語でコードを書いていて、しかも今ではそれで収入を得ている身だというのに、実は今まで「A && B || C」がどう評価されるのかイマイチ確信を持てていなかった。 いや、Cの論理演算子は左から右に順に評価していくとか短絡評価されるとか、その辺りは理解している。 ただC言語の仕様に基づく解釈として、例えば「A && B || C」と書いた時の評価結果は、 「(A && B) || C」 「A && (B || C)」 このどれと等しいのか? 「優先度は '||' よりも '&&' の方が高いので、1番目の解釈になるのだろうか?」と思いつつ、特に調べるわけでもなく放置していた。 で、あやふやなまま過ごしていたら、つい最近になってとあるソースコード中に「A && B || C」な部分があって、TDM-GCCでコンパイルしたら警告が出た。 warning: suggest paren
2011/12/26 リンク