break statement
From cppreference.com
C
Concurrency support (C11)
Statements
Labels
Expression statements
Compound statements
Selection statements
Iteration statements
Jump statements
break
Causes the enclosing for, while or do-while loop or switch statement to terminate.
Used when it is otherwise awkward to terminate the loop using the condition expression and conditional statements.
[edit] Syntax
attr-spec-seq (optional)
break
;
Appears only within the statement of a loop body (while
, do-while
, for
) or within the statement of a switch
.
[edit] Explanation
After this statement the control is transferred to the statement or declaration immediately following the enclosing loop or switch, as if by goto
.
[edit] Keywords
[edit] Notes
A break statement cannot be used to break out of multiple nested loops. The goto
statement may be used for this purpose.
[edit] Example
Run this code
#include <stdio.h> int main(void) { int i = 2; switch (i) { case 1: printf ("1"); case 2: printf ("2"); // i==2, so execution starts at this case label case 3: printf ("3"); case 4: case 5: printf ("45"); break; // execution of subsequent cases is terminated 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++) // only this loop is exited by break { if (k == 2) break; printf ("%d%d ", j,k); } } }
Possible output:
2345 00 01 02 03 04 10 11 12 13 14 00 01 10 11
[edit] References
- C17 standard (ISO/IEC 9899:2018):
- 6.8.6.3 The break statement (p: 111)
- 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
[edit] See also
[[fallthrough]]
(C23)
(attribute specifier)[edit]
C++ documentation for
break
statement