if...else條件結構中,如果某個分支只包含一條命令,那么是可以省略大括號{}的。比如上一節的練習,可以簡化為:
請注意,如果分支中包含2條以上的命令,是不能省略{}的。
如果
if
和
else
比較多,又省略了{},怎么判斷那一個
if
和哪一個
else
是一對呢?請看下面的代碼:
當出現多個
if
和
else
,又沒有{}來界定范圍時,請參考下面2條原則:
①每一個else與前面離它最近的if配對。按照這個原則,上面示例代碼的兩個else都與第二個if配對,這顯然是不可能的,于是又有了第二個原則。
②多個else都與同一個if相近時,最內層的else優先配對。這樣,第一個else處于內層,就與第二個if優先配對,第二個else只能與第一個if配對。上面的示例代碼會輸出“C”。
根據這兩個原則,上面的代碼等同于如下的規范代碼:
編寫條件結構時,盡可能加上 {}可以省掉不必要的錯誤和麻煩。
程序
輸出結果