fj.comp.lang.cの記事<42328fca.7081%katoh@pop12.odn.ne.jp>で
        katoh@pop12.odn.ne.jpさんは書きました。
> 「実行される箇所」というのは(機械語ではなく)ソース上の(字面の)話です
> ね?

機械語でも、もとのソースの対応する範囲の外には飛ば
ない、外からも入ってこないという意味で閉じている、
つまりフローに影響しないわけですよね。

> こういうのを副作用と呼ぶかには,かなり疑問がありますが...

「こういうの」じゃなくて、?:や&&を使えば条件によっ
て関数が呼ばれてその結果文字が出力されるとか、そう
いう点を副作用と呼びました。

> && や || は,一方の値に依っては,残りを計算しなくても全体の値が決まると
> いう,その演算の(ある意味特殊な)性質を利用しているので,?: 演算子とは
> 若干性質が異なるように思えます.

計算というか、評価が行われるかどうかを問題にしてい
るわけです。必ずしも全体を評価しない、という点で似
ているかなと。

> また,乗算でも,第一項がゼロだったら残りを計算
> せずに結果をゼロにするというのも考えられます(Cで許されたっけ?).

こちらの場合は、残りを計算結果に反映するかどうかは
ともかくとして、評価はしないとC言語としてはまずい
でしょ?

> もちろん,?: に後ろの二項とも評価するように操作的な意味を与える事は可能
> で,それをしなかったのは何故か,という話なら,Cの場合は,実行速度最優先
> で設計したから,ということだと思います.

それはまあそういってもいいかな。実行速度最優先にす
るために何かを犠牲にした、というわけではなくて、評
価しない項を作るということに積極的な意義をもって設
計しているような気はするんですけどね。
-- 
Junn Ohta