多分支 else if
多个互斥区间从上到下判断。注意区间顺序:更严格的条件要放前面。
1. 完整例子:成绩等级
| 1 | #include <stdio.h> |
| 2 | |
| 3 | int main(void) { |
| 4 | int score = 75; |
| 5 | if (score >= 90) { |
| 6 | printf("优秀\n"); |
| 7 | } else if (score >= 80) { |
| 8 | printf("良好\n"); |
| 9 | } else if (score >= 60) { |
| 10 | printf("及格\n"); |
| 11 | } else { |
| 12 | printf("不及格\n"); |
| 13 | } |
| 14 | return 0; |
| 15 | } |
2. 为什么顺序重要
若先写 score >= 60,则 75 会先命中「及格」而进不了后面分支。严格区间在前,宽松区间在后。
3. 实际例子:温度档位
| 1 | if (t < 0) { |
| 2 | /* 冷 */ |
| 3 | } else if (t < 40) { |
| 4 | /* 舒适 */ |
| 5 | } else { |
| 6 | /* 热 */ |
| 7 | } |