아래의 코드를 한 번 생각해 보자. 밑에 실행 결과를 보면 case 60 이라는 결과가 나온다. 왜 그런지 설명할 수 있을까?



 

실행결과

case 60

---------------------------

위 switch 문은 default 문 부터 시작되므로 항상 이 아래에 있는 내용이 실행된다. 그리고 if 문이 있으므로 x가 100인 경우를 생각해 보면 else 밑에 있는 case 60: 부터 실행된다. default 내부에 실행되는 것이므로 아직 break 문을 만나지 않았으므로 printf("case 60\n")이 실행되고 break 문을 만났으므로 switch 문을 빠져 나오는 것이다. 만약 x가 10인 경우는 출력이 어떻게 될지 한번 생각해 보자

잘 생각해보면 case문은 꼭 label과 비슷하게 작동하는 것을 알 수 있다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
TAG , ,

트랙백을 보내세요

트랙백 주소 :: http://www.cipher.pe.kr/tt/cipher/trackback/119

댓글을 달아 주세요

[로그인][오픈아이디란?]
비밀글 (Serect)
댓글 달기 (Submit)