原文: https://beginnersbook.com/2014/01/c-break-statement/

break语句用于循环内部和switch case

C - break语句

它用于立即退出循环。当在循环内遇到break语句时,控制流直接退出循环并且循环终止。它与if语句一起使用,只能在循环内使用。

这也可用于switch-case控制结构。每当在switch-case中遇到它时,控制器都会从switch-case中出来(参见下面的例子)。

break语句的流程图

C 编程中的`break`语句 - 图1

语法:

  1. break;

示例 - 在while循环中使用break

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int num =0;
  5. while(num<=100)
  6. {
  7. printf("value of variable num is: %d\n", num);
  8. if (num==2)
  9. {
  10. break;
  11. }
  12. num++;
  13. }
  14. printf("Out of while-loop");
  15. return 0;
  16. }

输出:

  1. value of variable num is: 0
  2. value of variable num is: 1
  3. value of variable num is: 2
  4. Out of while-loop

示例 - 在for循环中使用break

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int var;
  5. for (var =100; var>=10; var --)
  6. {
  7. printf("var: %d\n", var);
  8. if (var==99)
  9. {
  10. break;
  11. }
  12. }
  13. printf("Out of for-loop");
  14. return 0;
  15. }

输出:

  1. var: 100
  2. var: 99
  3. Out of for-loop

示例 - 在switch-case中使用break语句

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int num;
  5. printf("Enter value of num:");
  6. scanf("%d",&num);
  7. switch (num)
  8. {
  9. case 1:
  10. printf("You have entered value 1\n");
  11. break;
  12. case 2:
  13. printf("You have entered value 2\n");
  14. break;
  15. case 3:
  16. printf("You have entered value 3\n");
  17. break;
  18. default:
  19. printf("Input value is other than 1,2 & 3 ");
  20. }
  21. return 0;
  22. }

输出:

  1. Enter value of num:2
  2. You have entered value 2

您总是希望在switch case块中使用break语句,否则一旦执行了case块,其余的后续 case 块就会执行。例如,如果我们不在每个case块之后使用break语句,那么这个程序的输出将是:

  1. Enter value of num:2
  2. You have entered value 2
  3. You have entered value 3
  4. Input value is other than 1,2 & 3