C++ 嵌套 switch 语句
可以在外层 switch 的语句序列中将 switch 作为一部分。即使内层和外层 switch 的 case 常量包含相同的值,也不会产生冲突。
C++ 规定 switch 语句至少允许 256 层嵌套。
语法
嵌套 switch 语句的语法如下 −
switch(ch1) {
case 'A':
cout << "This A is part of outer switch"; // 这个 A 是外层 switch 的一部分
switch(ch2) {
case 'A':
cout << "This A is part of inner switch"; // 这个 A 是内层 switch 的一部分
break;
case 'B': // ...
}
break;
case 'B': // ...
}
示例
#include <iostream>
using namespace std;
int main () {
// 本地变量声明:
int a = 100;
int b = 200;
switch(a) {
case 100:
cout << "This is part of outer switch" << endl; // 这是外层 switch 的一部分
switch(b) {
case 200:
cout << "This is part of inner switch" << endl; // 这是内层 switch 的一部分
}
}
cout << "Exact value of a is : " << a << endl; // a 的确切值是:
cout << "Exact value of b is : " << b << endl; // 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