더북(TheBook)

이 상태로 실행하니 i가 6 이상일 때는 30번까지 두 문장을 연달아 출력합니다. 어디선가 실행을 끊어야 됩니다. 끊어야 하는 부분은 어딜까요?

if 문의 조건을 만족하면 ‘나머지 학생은 집에 가세요.’라고 출력하고 나머지 번호를 반복하지 않도록 for 문을 탈출해야 합니다. 이럴 때는 break 문을 사용합니다. for 문을 수행하다가 break 문을 만나면 조건을 만족하든 안 하든 상관없이 for 문을 탈출합니다.

그럼 if 문에 break 문을 넣고 다시 실행해 봅시다.

4.3.1 break.c

int main(void) {
    for (int i = 1; i <= 30; i++) {
        if (i >= 6) {
            printf("나머지 학생은 집에 가세요.\n");
            break;
        }
        printf("%d번 학생은 조별 발표를 준비하세요.\n", i);
    }
    return 0;
}

실행결과 icon_con

1번 학생은 조별 발표를 준비하세요.
2번 학생은 조별 발표를 준비하세요.
3번 학생은 조별 발표를 준비하세요.
4번 학생은 조별 발표를 준비하세요.
5번 학생은 조별 발표를 준비하세요.
나머지 학생은 집에 가세요

드디어 원했던 결과가 나오네요. for 문으로 1부터 반복합니다. 반복문 안에서 if 문을 만나 번호가 6보다 크거나 같은 조건을 만족하면 ‘나머지 학생은 집에 가세요.’를 출력합니다. 그리고 뒤에 오는 break 문을 만나면 반복문을 더 실행하지 않고 for 문을 바로 탈출해 프로그램을 종료합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.