2022 정처산기 필기 249쪽 break, continue 예제문 질문드립니다.
a 결과는
문제집 상에 6이라고 적혀 있는데요.
hap 결과가 9가 나오는 건 이해를 했는데,
a가 5가 된 다음에
hap += a; 적용되어
hap = 4+5 = 9가 된 후,
다시 a는 while 문에 의해
③번 문장으로 간 뒤
5였던 a는 a++ 증감연산자 적용 후, 6이 된 후
if(a>5) 가 참이 성립되어
break; 탈출하는걸로 이해했는데요.
printf 출력하기전 break를 통해 if문을 탈출했기 때문에
6이 아니라, 5가 되는게 아닌가요??
왜 a 결과값이 6이 되는지 잘 모르겠습니다.
a++ 까지는 적용이 되고, 적용된 값이 출력이 되는 것인지요?
결과값 6 에 대한 답변 부탁드립니다.
감사합니다!
안녕하세요 길벗수험서 운영팀입니다.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다.
sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐,
③번 문장과 같이 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.
즉, 3번에서 a는 6이 되고, (결정)
4번에서 a의 값 6은 5보다 크므로
5번의 break를 실행하여 9번으로 이동하고
10번의 printf문을 실행하여 a의 값 6이 출력되게 되는 것이죠.
행복한 하루되세요 :)
-
관리자2022-02-14 10:06:06
안녕하세요 길벗수험서 운영팀입니다.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다.
sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐,
③번 문장과 같이 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.
즉, 3번에서 a는 6이 되고, (결정)
4번에서 a의 값 6은 5보다 크므로
5번의 break를 실행하여 9번으로 이동하고
10번의 printf문을 실행하여 a의 값 6이 출력되게 되는 것이죠.
행복한 하루되세요 :)