天天看點

switch()語句塊的出口:break;

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 ;
}
           

運作程式,根據輸出結果也可以得出:

switch()語句塊的出口:break;
switch()語句塊的出口:break;

從第二張圖檔可以很明顯的看出,程式在進入case 5:執行完裡面的語句後,沒有退出switch()語句塊,而是進入default執行了那個輸出語句才退出的,由此,可以證明前面的結論。

一般的,為了保證程式的健壯性和程式的邏輯正确性,在每個case :和default :後面都跟着braek;語句,當然,也有例外的時候,當多個case :的處理機制相同時,那麼可以把這幾個case :連着寫,在最後一個case :的最後加上break;這樣避免的代碼備援。