Endowsの日記: Endows の へっぽこプログラマ日誌 第8回 1
日記 by
Endows
知らなかった…
というか、勘違いしてた。
『C では演算子の被演算数に対する評価順序は指定していない』 (K&R 第二版日本語版 P65より) なんて!
むしろ評価順序の指定のある && や || の方が例外だったのね…。
知らなかった…
というか、勘違いしてた。
『C では演算子の被演算数に対する評価順序は指定していない』 (K&R 第二版日本語版 P65より) なんて!
むしろ評価順序の指定のある && や || の方が例外だったのね…。
普通のやつらの下を行け -- バッドノウハウ専門家
評価順序不定だから (スコア:1)
i = i++ * 2 + i;
ちゅーのが、結果不定な式の例としてよく挙げられるわけで。
逆に、&&と||は評価順序などが例外的に決まっているから、
if(flag1) f1();
if(!flag2) f2();
の代わりに、シェルスクリプトなどでおなじみの
flag1 && f1();
flag2 || f2();
なんぞという書き方ができたりします。まあ、幸運なことに(?)、Cプログラマの間にはこういった習慣は無いようで。
巧妙に潜伏したバグは心霊現象と区別が付かない。