K.Maebashi's BBS 削除ページ

以下の投稿を削除します。

[1568] Re:IF文の判定について
返信
投稿者:(ぱ)こと管理人
2010/06/10 00:46:38

>if((func_hoge() == 真) && (func_piyo() == 真)) // (1) > 実行文; > >if(func_hoge() == 真) > if(func_piyo() == 真) // (2) > 実行文; > >上記(1)または(2)において、func_hoge()が偽であった場合、 >func_piyo が実行されないことは文法上保証されるのでしょうか? どちらについても保証されています。 (1)は短絡演算子というやつで、JIS X 3010:2003 (ISO/IEC 9899:1999)であれば 6.1.13に以下の記述があります。 | ビット単位の2項&演算子と異なり,&&演算子は左から右への評価を保証する。 | 第1 オペランドの評価の直後を副作用完了点とする。第1オペランドの値が0と | 比較して等しい場合,第2オペランドは評価しない。 「||」も同様です(6.5.14 論理OR演算子より) | ビット単位の|演算子と異なり,||演算子は左から右への評価を保証する。 | 第1オペランドの評価の直後を副作用完了点とする。第1オペランドの値が0と | 比較して等しくない場合,第2 オペランドは評価しない。 (2)はさすがにif文の動作として自明ではないでしょうか。
パスワード:

管理者削除