1、break 用来退出 switch,continue 本身是不能用在 switch 里的,他必须结合循环来用,表示跳过本次循环
2、switch 的 case 语句最后如果没有加 break / continue,则程序会一直往后执行,可以借鉴 goto 跳转到位置,其实 switch 本身可以看作某种形式的跳转,而 C 语言中本身是不执行:的那条语句的,例如,如果程序中出现一条语句 wtch : ,C 语言是默认跳过的,这就很好理解为什么 swtich 中为什么需要在 case 语句最后加 break / continue 了,同样 : 前面不管是什么都不要事先去定义的
3、下面的程序就很好的能反应出switch 中的 break / continue 用法,同时 pro 没定义也不会出错:
/*************************************************************************
> File Name: t.c
> Author: Wenfei6316
> Mail: 2500873570@qq.com
> Created Time: 2018年03月12日 星期一 20时37分51秒
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int i = 0;
int num = 3;
while (num)
{
printf("++++++++++++++++++++++++++++++++++\n");
switch (i)
{
case 0:
printf("i = %d\n", i++);
i++;
case 1:
printf("i = %d\n", i);
i = i + 2;
continue;
case 2:
printf("i = %d\n", i--);
i--;
break;
case 3:
printf("i = %d\n", i);
continue;
case 4:
printf("i = %d\n", i);
i++;
break;
default:
printf("i = %d\n", i);
i = 2;
break;
}
printf("----------------------------------\n");
num--;
printf("num = %d\n", num);
}
pro:
printf("hello world!\n");
return 0;
}
运行结果如下:
++++++++++++++++++++++++++++++++++
i = 0
i = 2
++++++++++++++++++++++++++++++++++
i = 4
----------------------------------
num = 2
++++++++++++++++++++++++++++++++++
i = 5
----------------------------------
num = 1
++++++++++++++++++++++++++++++++++
i = 2
----------------------------------
num = 0
hello world!