Programming

[정보처리기사] C언어 문제 풀이(3)

_syd 2023. 9. 6. 21:08

실행 순서

a = 1, i= 초기값, sum = 0으로 초기화

 

switch 문에서,

a++ 일때는 a를 먼저 사용하고 값을 1 증가 시킴

→ 1 값을 먼저 사용하고 연산이 끝난 후 1 증가

 

++sum, 1 증가를 먼저 시키고 값 사용

→ 0 값에 +1 을 한 1이 sum 값이 됨.

 

⇒ ‘a++’(1) + ‘++sum’(1) = 2 가 됨

현재 a: 2 , sum: 1

 

case 2: 에 해당하므로 for 문 실행

i=1, for 문의 조건식(i<3) 이 참이므로, sum += i 실행 → sum = 1 + 1 = 2

if 문 실행, i%2 는 1이므로, 이후 if 문 실행하지 않고 다시 for 문으로 돌아옴

 

i=2, for 문의 조건식(i<3) 이 참이므로, sum += i 실행 → sum = 2 + 2

if 문 실행, i%2 는 0이므로, break 로 for 반복문 탈출

 

break 의 용도
1. 반복문 탈출
2. switch ~ case 탈출

case2 일 때, break 가 없으므로 case 1 로 넘어옴

sum*= 2 는 sum = sum2 이므로 sum = 42 = 8

마찬가지로 break 가 없으므로 case 0 으로 이동

case0 에서 break 만나 printf 실행 → 8 출력

 

출력

8

 

 

728x90