参考
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; 还是要看你要设计什么