最近看代碼總會出現switch case中default放在語句塊中間的狀況,感受特別奇怪,因而作了幾個實驗看下default放在
語句塊中間是否有影響
code
void main() { int i = 3; switch(i) { case 1: printf("case 1\n"); break; case 2: printf("case 2\n"); break; default: printf("has not found case \n"); break; case 3: printf("case 3\n"); break; } }
當i=3,執行結果"case 3"
當i=4,執行結果"has not found case"
看來default放置的位置並不會影響整個switch case語句塊的判斷,default老是在全部case都未匹配後纔會執行。另外提醒下要注意case和default後的break語句,若是不添加break的話可能會致使一些莫名的狀況。
it