본문 바로가기

프로그래밍 언어/C언어

C언어 - break, continue

 

 

 

 

break는 일단 멈췄다가

 

가장 가까운 반복문이나 분기문을 빠져나간다.

 

 

참고로 break는 반복문인 for, while, do-while과

 

분기문인 switch에게만 적용된다.

 

 

continue는 일단 멈췄다가 가장 가까운 반복문의 조건

 

또는 갱신식(for문일 경우)으로 이동한다.

 

 

 

그렇기에 continue 뒤에 있는 부분은 실행되지 않는다.

 

 

 

아래 코드의 결과에 대해서 생각해보자.

 

!!!반드시 먼저 생각해본다음 실행해보자!!!

 

#include <stdio.h>

int main()  {

    int i;
    
    for (i = 0; i < 4; i = i + 1)
    {
        printf("A");
        
        if (i == 2)
        	continue;
            
        printf("B");
    }
    printf("C");
    
    return 0;
}

 

 

우선 0번째 A와 B 출력된다

 

다음 1번째 A와 B 출력된다.

 

다음 2번째 A가 출력되고 i 는 2이기에 continue 가 실행되어 다시 for 문으로 간다.

 

즉 다음 번째로 이동이라고 생각하면 편하다.

 

다음 3번째 A와 B 가 출력되고 for 문은 4 번째가 될 수 없기에

for 문을 빠져나와 C가 출력된다

 

 

결론적으론 ABABAABC 으로 출력된다.

 

 

#include <stdio.h>

int main() {

    int i;
    
    for (i = 0; i < 4; i = i + 1)
    {
        printf("A");
        
        if (i == 2)
        	break;
            
        printf("B");
    }
    printf("C");

    return 0;
}

 

continue 를 이해했다면 break 또한 충분히 이해할 수 있을 것이다.

 

우선 continue처럼 0번째 A와 B 출력된다

 

다음 1번째 A와 B 출력된다.

 

다음 2번째 A가 출력되고 i 는 2이기에 break 가 실행되어 for 문을 끝낸다.

 

즉 여기서 그만이라고 생각하면 편하다.

 

이제 for 문을 빠져나왔으니 C가 출력된다.

 

 

결론적으론 ABABAC 으로 출력된다.

 

 

 

앞에서도 말했었지만

 

" Ctrl + F5 "

 

를 누르면 바로 컴파일을 할 수 있다.

 

 

 

 

 

 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=8187381