switch语句中分支重叠
时间: 2023-11-08 17:00:27 浏览: 72
7enum和switch语句联合案例分析VC共6页.pdf
在C语言的switch语句中,分支重叠是指多个case标签对应的代码块内部没有对应的break语句,导致程序执行时会继续执行下一个case标签对应的代码块,直到遇到break语句或者switch语句结束。这种情况可能是因为开发者忘记添加break语句或者故意设计的逻辑。
下面是一个示例代码,展示了分支重叠的情况:
```c
#include <stdio.h>
int main() {
int num = 2;
switch (num) {
case 1:
printf("num is equal to 1\n");
case 2:
printf("num is equal to 2\n");
case 3:
printf("num is equal to 3\n");
default:
printf("num is not equal to 1, 2 or 3\n");
}
return 0;
}
```
在上述代码中,当num的值为2时,输出会是:
```
num is equal to 2
num is equal to 3
num is not equal to 1, 2 or 3
```
可以看到,由于每个case标签内部没有break语句,程序会继续执行下一个case标签对应的代码块,直到遇到break语句或者switch语句结束。
阅读全文