パスワードを忘れた? アカウント作成
452228 journal

Endowsの日記: Endows の へっぽこプログラマ日誌 第8回 1

日記 by Endows

知らなかった…

というか、勘違いしてた。

『C では演算子の被演算数に対する評価順序は指定していない』 (K&R 第二版日本語版 P65より) なんて!

むしろ評価順序の指定のある && や || の方が例外だったのね…。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • i = 2;
    i = i++ * 2 + i;

    ちゅーのが、結果不定な式の例としてよく挙げられるわけで。

    逆に、&&と||は評価順序などが例外的に決まっているから、

    if(flag1) f1();
    if(!flag2) f2();

    の代わりに、シェルスクリプトなどでおなじみの

    flag1 && f1();
    flag2 || f2();

    なんぞという書き方ができたりします。まあ、幸運なことに(?)、Cプログラマの間にはこういった習慣は無いようで。
    --
    巧妙に潜伏したバグは心霊現象と区別が付かない。
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...