參考
http://caterpillar.onlyfun.net/Gossi...chStatement.html
Switch 就是看例如 switch (a) 括號內的 a 的值 是什麼
然後就跑到底下 Case 中對應的數字,假如沒有對應的 case 會跑到 default
case N 很像是進入點,所以為什麼要加 break ? 因為不加 break 程式會繼續跑下去,底下的其他 case 中的東西也會被跑到,那就不是預期的結果了
我用兩張圖來表示
第一,沒有在 case 最後加入 break,會發生什麼事?
範例一:
複製程式
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 5;
switch (a)
{
case 5:
printf("5 is here\n");
case 6:
printf("6 is here\n");
default:
printf("default!!\n");
}
getchar();
}
就像溜滑梯一樣,程式判斷 a 是 5,然後就跑到 Case 5: 的進入點
接著就往下滑,case 6 和 default 都會跑到
第二,有加入 break;
範例二:
複製程式
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 5;
switch (a)
{
case 5:
printf("5 is here\n");
break;
case 6:
printf("6 is here\n");
break;
default:
printf("default!!\n");
}
getchar();
}
那麼跑完成 printf("5 is here\n"); 遇到 break; 就會跳出 switch 的結構
不過要不要加 break; 還是要看你要設計什麼