C Nested switch Statements
You can use aswitchas an externalswitchpart of the statement sequence, that is, can be in aswitchusing another within a statementswitchstatement. Even if the case constants of the inner and outer switch contain common values, there is no contradiction.
Syntax
In C languageNested switchThe syntax of the statement:
switch(ch1) {
case 'A':
printf("这个 A 是外部 switch 的一部分" );
switch(ch2) {
case 'A':
printf("这个 A 是内部 switch 的一部分" );
break;
case 'B': /* 内部 B case 代码 */
}
break;
case 'B': /* 外部 B case 代码 */
}
Example
Example
#include <stdio.h>
int main ()
{
/*Local variable definition*/
int a = 100;
int b = 200;
switch(a) {
case 100:
printf("This is part of the outer switch\n");
switch(b) {
case 200:
printf("This is part of the inner switch\n");
}
}
printf("The exact value of a is %d\n", a );
printf("The exact value of b is %d\n", b );
return 0;
}
When the above code is compiled and executed, it produces the following results:
这是外部 switch 的一部分 这是内部 switch 的一部分 a 的准确值是 100 b 的准确值是 200other extensions