一句话理解
switch 按整数或枚举的值选择分支。
为什么要学
和一长串 else if 类似。竞赛里用得不如 if 多,但要认识。
讲解
switch (x) { case 1: ... break; default: ... }。
忘了 break 会穿透到下一个 case。这是最大陷阱。
case 必须是常量。区间判断还是用 if。
例子
int x = 2;
switch (x) {
case 1: cout << "one"; break;
case 2: cout << "two"; break;
default: cout << "other";
}
输出:
two
x=2 进入对应 case,打印 two,然后 break 跳出。
常见错误
- 忘记 break。
- 在 case 里定义变量却不加花括号,可能编译失败。