switch中default的认识

偶然看到关于switch的一个基本例子,结果因为好长时间不用,导致遗忘– 虽然很简单,还是记录一下.

直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
int main()
{
int s=0,n;
for(n=0;n<4;n++)
{
switch(n)
{
default:s+=4;
case 1: s+=1;break;
case 2: s+=2;break;
case 3: s+=3;
}
}
printf("%d\n",s);
}

结果的输出应该是:

1
11


这里面的关键是,把defaultcase等同对待,不做区分。 开始 n = 0,然后switch选择default: s+=4执行, 由于该条语句没有break,继续执行直到 遇到break或者switch结束,此时s = 5,后面同理。

中间输出结果如下:

1
2
3
4
n = 0,s = 5
n = 1,s = 6
n = 2,s = 8
n = 3,s = 11

其实很基础的东西–记录一下