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文の動作として自明ではないでしょうか。
[この投稿を含むスレッドを表示] [この投稿を削除]