C 语言嵌套 switch 语句
在 C 语言中,一个 switch 语句也可以嵌套另一个 switch
语句。
我们可以把一个 switch 作为另一个 switch 的语句序列的一部分,即可以在一个 switch 语句内使用另一个 switch 语句。
即使内部和外部 switch 的 case 常量包含共同的值,也不会产生任何语法错误。
嵌套 switch 语法格式
C 语言中 嵌套 switch 语句的语法如下
switch(ch1) { case '1': // 这个 A 是外部 switch 的一部分 switch(ch2) { case '1': printf("这个 A 是内部 switch 的一部分" ); break; case '2': // 内部 2 case 语句 } break; case '2': // 外部 2 case 语句 }
范例
/** * file: main.c * author: 简单教程(www.twle.cn) */ #include <stdio.h> int main () { //定义局部变量 x y int x = 17; int y = 23; switch(x) { case 17: printf("这是外部 switch 的一部分\n"); switch(y) { case 13: printf("这是内部 switch 的一部分\n"); } } printf("x 的值是 %d\n", x ); printf("y 的值是 %d\n", y ); return 0; }
编译和运行上面的范例,输出结果如下
$ gcc main.c && a.out 这是外部 switch 的一部分 x 的值是 17 y 的值是 23