nested switch - 语法
嵌套switch语句的语法如下所示:-
switch(ch1) {
case A:
printf("This A is part of outer switch" );
</span><span class="kwd">switch</span><span class="pun">(</span><span class="pln">ch2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">case</span><span class="pln"> </span><span class="str">A</span><span class="pun">:</span><span class="pln">
printf</span><span class="pun">(</span><span class="str">"This A is part of inner switch"</span><span class="pln"> </span><span class="pun">);</span><span class="pln">
</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">case</span><span class="pln"> </span><span class="str">B</span><span class="pun">:</span><span class="pln"> </span><span class="com">/* case code */</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
case B: /* case code */
}
nested switch - 示例
#include <stdio.h>
int main () {
/* 局部变量定义 */
int a=100;
int b=200;
switch(a) {
</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">100</span><span class="pun">:</span><span class="pln">
printf</span><span class="pun">(</span><span class="str">"This is part of outer switch\n"</span><span class="pun">,</span><span class="pln"> a </span><span class="pun">);</span><span class="pln">
</span><span class="kwd">switch</span><span class="pun">(</span><span class="pln">b</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">case</span><span class="pln"> </span><span class="lit">200</span><span class="pun">:</span><span class="pln">
printf</span><span class="pun">(</span><span class="str">"This is part of inner switch\n"</span><span class="pun">,</span><span class="pln"> a </span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
printf("Exact value of a is : %d\n", a );
printf("Exact value of b is : %d\n", b );
return 0;
}
编译并执行上述代码时,将生成以下结果-
This is part of outer switch This is part of inner switch Exact value of a is : 100 Exact value of b is : 200