多分支 else if

多个互斥区间从上到下判断。注意区间顺序:更严格的条件要放前面。

1. 完整例子:成绩等级

C
1#include <stdio.h>
2 
3int 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. 实际例子:温度档位

C
1if (t < 0) {
2 /* 冷 */
3} else if (t < 40) {
4 /* 舒适 */
5} else {
6 /* 热 */
7}