一、switch跳转语句
类似于多路开关,可以根据给定条件匹配到符合条件的语句。正式点来说,是根据一个整形数值来进行多路分支的一种结构。在处理具有多种可能结果时,这种语句非常有效。它不仅挺高了C代码的可读性和逻辑性,而且使用跳转表来作为底层实现基础。
switch基本框架为
int condition
switch(condition)
{
case condition1:statements ;
case condition2:statements;
case condition3:statements;
....
case conditionn:statements;
default:
default_statment;
}
下面我们来具体实现以下
1 #include<stdio.h>
2 #include<stdlib.h>
3
4 int main()
5 {
6 int i=0;
7 switch(i)
8 {
9 case 0:printf("i am 1\n");
10 case 1:printf("i am 2\n");
11 case 2:printf("i am 3\n");
12 default:printf("error\n");
13 }
14 }
我们看一下结果:
发现我们只是想匹配i=1这个项,但是后面的也被执行了,为啥?我先抛一砖-->与switch的实现有关系。如何解决什么问题呢?每次case结束后break
1 #include<stdio.h>
2 #include<stdlib.h>
3
4 int main()
5 {
6 int i=0;
7 switch(i)
8 {
9 case 0:printf("i am 1\n"); break;
10 case 1:printf("i am 2\n"); break;
11 case 2:printf("i am 3\n"); break;
12 default:printf("error\n"); break;
13 }
14 }
提到break,我们不经意间会联想到它的兄弟&#