天天看点

switch()语句块的出口:break;

switch()语句块里的case:相当于一个开关,只要满足case的条件,开关就打开,从而执行case语句块的内容,而break就相当于一个出口,只要碰到了break,就跳出switch语句块,否则就继续执行下一条语句,直到碰到了break或者switch语句块已经全部执行才会跳出语句块。

#include<stdio.h>

int main()
{
    int num = ;
    printf("请输入一个数:\n");
    scanf("%d", &num);
    switch (num)
    {
    case :
        num += ;     //无break;
    case :
        num -= ;
        break;
    case :
        num *= ;     //无break;
    case :
        num /= ;
        break;
    case :
        num %= ;    //无break;
    default:
        printf("这儿什么也不做!\n");
        break;
    }
    printf("num = %d\n", num);
    system("pause");
    return ;
}
           

运行程序,根据输出结果也可以得出:

switch()语句块的出口:break;
switch()语句块的出口:break;

从第二张图片可以很明显的看出,程序在进入case 5:执行完里面的语句后,没有退出switch()语句块,而是进入default执行了那个输出语句才退出的,由此,可以证明前面的结论。

一般的,为了保证程序的健壮性和程序的逻辑正确性,在每个case :和default :后面都跟着braek;语句,当然,也有例外的时候,当多个case :的处理机制相同时,那么可以把这几个case :连着写,在最后一个case :的最后加上break;这样避免的代码冗余。