break statement
해당 for , while 또는 do-while 루프 또는 switch 문 을 종료시킵니다.
조건식과 조건문을 사용하여 루프를 종료하는 것이 어색한 경우 사용됩니다.
목차 |
구문
attr-spec-seq
(선택 사항)
break
;
|
|||||||||
| attr-spec-seq | - |
(C23)
break
문에 적용되는
속성
의 선택적 목록
|
루프 본문의
구문
내부(
while
,
do-while
,
for
) 또는
switch
의
구문
내부에서만 나타납니다.
설명
이 문장 이후 제어는 마치
goto
를 사용한 것처럼, 해당 루프나 switch 문을 감싸는 바로 다음 문장이나 선언으로 이동합니다.
키워드
참고 사항
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"); // 다음 두 중첩 for 루프의 출력을 비교하십시오. 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
참고문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 6.8.6.3 break 문 (p: 111)
- C11 표준 (ISO/IEC 9899:2011):
-
- 6.8.6.3 break 문 (p: 153)
- C99 표준 (ISO/IEC 9899:1999):
-
- 6.8.6.3 break 문 (p: 138)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 3.6.6.3 break 문
참고 항목
[[
fallthrough
]]
(C23)
|
이전 case 레이블에서의 fallthrough가 의도적이며 fallthrough에 대해 경고하는 컴파일러에 의해 진단되지 않아야 함을 나타냅니다
(속성 지정자) |
|
C++ documentation
for
break
statement
|
|