ifの形式はelse部があることで少し注意が必要です.
まず,elseはあくまでもifを受けるものですから,プログラムの文面上であまり離れてしまうのはよくありません.それで,Cを条件とするとき,
if (C) { ---- ---- ---- ---- ---- }else ----;
と書くよりは
if (Cの否定) -----; else { ---- ---- ---- ---- ---- }
と書くほうが見やくなります.
if形式が二重になっている場合に
外側のifにelse部があり
内側のifにelse部がない
ときは注意が必要です.つまり
if (C1) A else B
という外側のif形式のAが,さらに
if (C2) D
となっている場合です.うっかり
if (C1)
if (C2)
D;
else
B;
と書くと,elseとBは内側のIf形式のelse部と解釈されてしまうのです.これは,プログラムの文面の(コンピュータによる)解析が,文面を左から右へ,上から下へと順に見てゆくだけであることによります.この例ではD;の次に出現するelseは直前のif,すなわち内側のifに対応づけられてしまうのです.
意図した意味どおりにするには,内側のif形式をナミカッコで囲んでやります.
if (C1) {
if (C2)
D;
} else
B;
26.1.4.11 複合的判断 | 26.1.4.12 IF形式の注意点 | 26.1.5 メソッド | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 03 Mar 2005 13:56:14 JST (1611d) |