switch case語句塊default的認識

最近看代碼總會出現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

相關文章
相關標籤/搜索