if...else條件結(jié)構(gòu)中,如果某個(gè)分支只包含一條命令齐媒,那么是可以省略大括號(hào){}的符匾。比如上一節(jié)的練習(xí)净薛,可以簡(jiǎn)化為:
如果
if
和
else
比較多,又省略了{(lán)}备徐,怎么判斷那一個(gè)
if
和哪一個(gè)
else
是一對(duì)呢萄传?請(qǐng)看下面的代碼:
當(dāng)出現(xiàn)多個(gè)
if
和
else
,又沒(méi)有{}來(lái)界定范圍時(shí)蜜猾,請(qǐng)參考下面2條原則:
①每一個(gè)else與前面離它最近的if配對(duì)秀菱。按照這個(gè)原則,上面示例代碼的兩個(gè)else都與第二個(gè)if配對(duì)蹭睡,這顯然是不可能的衍菱,于是又有了第二個(gè)原則。
②多個(gè)else都與同一個(gè)if相近時(shí)肩豁,最內(nèi)層的else優(yōu)先配對(duì)脊串。這樣辫呻,第一個(gè)else處于內(nèi)層,就與第二個(gè)if優(yōu)先配對(duì)琼锋,第二個(gè)else只能與第一個(gè)if配對(duì)放闺。上面的示例代碼會(huì)輸出“C”。
根據(jù)這兩個(gè)原則缕坎,上面的代碼等同于如下的規(guī)范代碼: