아래의 코드를 한 번 생각해 보자. 밑에 실행 결과를 보면 case 60 이라는 결과가 나온다. 왜 그런지 설명할 수 있을까?
실행결과
case 60
---------------------------
위 switch 문은 default 문 부터 시작되므로 항상 이 아래에 있는 내용이 실행된다. 그리고 if 문이 있으므로 x가 100인 경우를 생각해 보면 else 밑에 있는 case 60: 부터 실행된다. default 내부에 실행되는 것이므로 아직 break 문을 만나지 않았으므로 printf("case 60\n")이 실행되고 break 문을 만났으므로 switch 문을 빠져 나오는 것이다. 만약 x가 10인 경우는 출력이 어떻게 될지 한번 생각해 보자
잘 생각해보면 case문은 꼭 label과 비슷하게 작동하는 것을 알 수 있다.




댓글을 달아 주세요