switch()語句塊裡的case:相當于一個開關,隻要滿足case的條件,開關就打開,進而執行case語句塊的内容,而break就相當于一個出口,隻要碰到了break,就跳出switch語句塊,否則就繼續執行下一條語句,直到碰到了break或者switch語句塊已經全部執行才會跳出語句塊。
#include<stdio.h>
int main()
{
int num = ;
printf("請輸入一個數:\n");
scanf("%d", &num);
switch (num)
{
case :
num += ; //無break;
case :
num -= ;
break;
case :
num *= ; //無break;
case :
num /= ;
break;
case :
num %= ; //無break;
default:
printf("這兒什麼也不做!\n");
break;
}
printf("num = %d\n", num);
system("pause");
return ;
}
運作程式,根據輸出結果也可以得出:
從第二張圖檔可以很明顯的看出,程式在進入case 5:執行完裡面的語句後,沒有退出switch()語句塊,而是進入default執行了那個輸出語句才退出的,由此,可以證明前面的結論。
一般的,為了保證程式的健壯性和程式的邏輯正确性,在每個case :和default :後面都跟着braek;語句,當然,也有例外的時候,當多個case :的處理機制相同時,那麼可以把這幾個case :連着寫,在最後一個case :的最後加上break;這樣避免的代碼備援。