break语句

来自cppreference.com
< c‎ | language

导致包围的forwhiledo-while循环或switch语句终止。

在用条件表达式和条件语句终止循环显得笨拙时使用。

目录

[编辑] 语法

break ;

只出现在循环体(whiledofor)的statement内,或switchstatement内。

[编辑] 解释

在此语句后控制被转移到紧随整个循环或switch之后的声明或语句,如同由goto进行。

[编辑] 关键词

break

[编辑] 注意

break语句不能用于打破多重嵌套循环。goto语句可用于此目的。

[编辑] 示例

#include <stdio.h>
 
int main(void)
{
    int i = 2;
    switch (i) {
        case 1: printf("1");
        case 2: printf("2");   // i==2,故执行始于此case标号
        case 3: printf("3");
        case 4:
        case 5: printf("45");
                break;         // 导致后续的case终止
        case 6: printf("6");
    }
    printf("\n");
 
    // Compare outputs from these two nested for loops.
    for (int j = 0; j < 2; j++) 
        for (int k = 0; k < 5; k++) 
            printf("%d%d ", j,k);
    printf("\n");
    for (int j = 0; j < 2; j++) {
        for (int k = 0; k < 5; k++) { // 只有此循环会由break退出
            if (k == 2) break;
            printf("%d%d ", j,k);
        }
    }
}

输出:

2345
00 01 02 03 04 10 11 12 13 14 
00 01 10 11

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 6.8.6.3 The break statement (p: 153)
  • C99 standard (ISO/IEC 9899:1999):
  • 6.8.6.3 The break statement (p: 138)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 3.6.6.3 The break statement

[编辑] 参阅

break语句C++文档