1. 程式人生 > >C語言switch 中default子句的作用

C語言switch 中default子句的作用

C語言switch 中default子句的作用

首先來想一下,在switch語句中,如果表示式的值與所有的case標籤的值都不匹配怎麼辦? 其實也沒什麼-----所有語句不過是跳過而已。程式並不會終止,也不會提示任何錯誤,因為這種情況下在C中並不認為是個錯誤。
但是,如果你並不想忽略所有case標籤的表示式值時又要如何去做?這時候就需要在語句列表中增加一條default子句,把這個標籤:

default:

寫在任何一個case標籤可以出現的位置。當switch表示式的值並不匹配所有的case標籤的值時,這個default子句後面的語句就會執行。所以,每個switch語句中只能出現一條default子句。但是它可以出現在語句列表的任何位置,而且語句流會像貫穿一個case標籤一樣貫穿default子句。

提示:

在每個switch語句中都放上一條default子句是個好習慣,因為這樣做可以檢測到任何非法值。否則,程式將若無其事的繼續執行,並不提示任何錯誤。這個規則唯一合理的例外是表示式的值在先前已經進行過有效的檢查,並且你只對表示式可能出現的部分值感興趣。