C语音小知识----switch

这次主要是写一下switch中执行顺序的问题。
switch函数体中,不同的case对应着不同的情况。如果有break,自然容易理解。但某些没有break的情况下,就需要理解它的执行顺序了。
如下面的例子:

#include <stdio.h>
int main(int argc, const char * argv[]) {
    int a = 4;
    switch (a) {
        default:
            printf("呵呵呵呵\n");
        case 44:
            printf("呵呵\n");
        case 43:
            printf("呵\n");
        case 45:
            printf("呵呵呵\n");
    }
    return 0;
}

执行结果如图:这里写图片描述

如果把代码改为

#include <stdio.h>
int main(int argc, const char * argv[]) {
    int a = 4;
    switch (a) {
        default:
            printf("呵呵呵呵\n");
            break;
        case 44:
            printf("呵呵\n");
        case 43:
            printf("呵\n");
        case 45:
            printf("呵呵呵\n");
    }
    return 0;
}

运行结果如图:这里写图片描述

可以看到,switch其实就是一条一条的检查,如果有符合条件的case,就不去管default,执行下去,直到函数结束或者遇到break;而如果没有,则直接执行default的语句。
所以说,最重要的一点就是switch是顺序检查并执行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值