더북(TheBook)

if 문과 비슷하면서도 좀 더 간편해 보이죠. 작성한 코드를 실행하니 ‘보’가 나왔네요. 아마 i 값이 2였나 봅니다. 그런데 보까지만 출력해야 하는데 ‘몰라요’도 같이 출력했습니다. 왜 그럴까요?

switch 문의 형식을 보면 값과 일치하는 case 문에서 수행할 문장 다음에 break 문이 있습니다. 잠시 i 값을 1로 바꿔서 실행해 보겠습니다.

4.4.2 switch.c

int main(void) {
    int i = 1;
    switch (i) {
        case 0:
            printf("가위\n");
        case 1:
            printf("바위\n"); 
        case 2:
            printf("보\n"); 
        default:
            printf("몰라요\n");
    }
    return 0;
} 

실행결과 icon_con

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