>>455
コンパイラが下を上の形まで最適化するとは限らないから、上が速いだろ。
下は第一オペランドで否定されなかったとき複数回if命令を呼ぶ。



意外に知られていない && と || の短絡評価 | 株式会社きじねこ
またまた専門学校で出た話題です。
C言語を一通り習いました(さらには、C++やC#なども習いました)という生徒であっても、意外に知らないのが && や || の短絡評価です。
初心者が短絡評価を知る機会はそう多くないようです。しかし、短絡評価は初心者だから知らなくてもよいというようなものではなく、これを知らなければまともな条件式は書けないはずです。
それでは、JIS X3010:2003から、該当部分を引用してみましょう。
ビット単位の2項 & 演算子と異なり,&& 演算子は左から右への評価を保証する。第一オペランドの評価の直後を副作用完了点とする。
第1オペランドの値が0と比較して等しい場合,第2オペランドは評価しない。
つまり,&& の左辺が偽であれば,右辺は評価されずに条件式全体の評価結果が決まることになります。
http://www.kijineko.co.jp/node/484/