📜  关于C中switch语句的有趣事实(1)

📅  最后修改于: 2023-12-03 15:07:05.215000             🧑  作者: Mango

关于C中switch语句的有趣事实

1. switch语句可以匹配整型、字符型和枚举类型

C语言中的switch语句可以匹配整型、字符型和枚举类型,比如:

int code = 200;
switch(code) {
    case 200:
        printf("请求成功\n");
        break;
    case 404:
        printf("请求失败:未找到\n");
        break;
    default:
        printf("请求失败:未知错误\n");
        break;
}
2. switch语句支持多个case匹配同一个分支

可以使用多个case分别匹配同一个分支,比如:

char grade = 'B';
switch(grade) {
    case 'A':
    case 'B':
        printf("优秀\n");
        break;
    case 'C':
        printf("及格\n");
        break;
    default:
        printf("不及格\n");
        break;
}
3. switch语句中的break关键字可以省略

如果在某个分支的结尾没有加上break关键字,那么程序会继续执行下一个case,直到遇到break或者switch语句结束。比如:

char level = 'D';
switch(level) {
    case 'A':
        printf("优\n");
    case 'B':
        printf("良\n");
    case 'C':
        printf("合格\n");
    case 'D':
        printf("不合格\n");
    default:
        printf("不及格\n");
        break;
}
4. switch语句可以嵌套

在一个分支语句中可以再次使用switch语句,实现进一步分支。比如:

int score = 80;
switch(score/10) {
    case 10:
    case 9:
        printf("优秀\n");
        break;
    case 8:
        switch(score%10) {
            case 9:
            case 8:
            case 7:
                printf("良\n");
                break;
            default:
                printf("合格\n");
                break;
        }
        break;
    default:
        printf("不及格\n");
        break;
}

以上就是关于C中switch语句的一些有趣事实。