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;
}
실행결과 |
바위 보 몰라요 |