break的特点:

1、break如果用于循环是用来终止循环的;

2、break如果用于switch,则是用于终止switch;

3、break不能直接用于if,除非if属于循环内部的一个子句;

下面进行举例:

        解释不能用于if,除非if是for循环的内部的一个子句:

for (i=0; i<3; ++i)
    {
        if(3>2)

            break;

        printf("hehe\n");
     }

上面的程序输出为

Press any key to continue

也就是说这个语句中的break虽然是if内部的一个语句,但是用来终止外部的for循环的,因此判断if成立后,执行break,使得程序跳出for循环,所以一次也没有输出“hehe”,没有输出。

        break用于多个for循环的举例:

for (i=0; i<3; ++i)
    {
        
        for (j=1; j<4; ++j)

            break:

        printf("HAHA\n");

     }

上方程序的输出为:

HAHA
HAHA
HAHA

因为上方的程序中break是把第二个for循环终止了,但printf函数不属于第二个for循环,因此输出了三次HAHA,如果break终止最外面的for循环,那么一次HAHA都不会输出,所以结论为:在多层循环中,break只能终止其最近的循环。

        同样在多层switch嵌套中,break只能够终止距离其最近的switch语句。

int x=1, y=0, a=0, b=0;

switch(x)//第一个switch
{
case 1:
    switch(y)//第二个switch
    {
    case 0
        a++;
        break;//终止第二个switch
    case 1:
        b++;
        break;
    }
    b=100;
    break;//终止第一个switch
case 2:
    a++;
    b++;
    break;
}

        以上的程序结果为 a = 1; b = 100。

更多推荐

C语言入门重点-break的用法