1. 程式人生 > >C++ switch註意事項(陷阱)

C++ switch註意事項(陷阱)

tro col c++ image efault pri png scan 執行

話不多說,直接上代碼

int a;
printf("請輸入一個整數:");
scanf("%d", &a);
switch (a)
{
  case 0:
    printf("000000\n");
  case 1:
    printf("111111\n");
  default:
    break;
}

期望輸出結果:000000

實際輸出結果

技術分享圖片

我們本來想要程序輸出000000,然而程序卻從上至下全部輸出了一遍,可是這不是我們想要的結果呀,這可咋辦呀!!!

經過仔細檢查發現原來在switch中的每個case後面遺漏了break,所以程序將當前case以下的每個語句都執行一遍,

嘿嘿,在case後面加上break就能夠正常運行了呦。

C++ switch註意事項(陷阱)