답안대로라면 결과가 거짓이 되도록 증가하여 for문을 빠져나가 결과를 출력한다고 해설이 되어있는데요.
실제로 컴파일한결과값은 i=10, hap=54가 나옵니다.
해설의 내용이 맞다면 같은유형의 34번문제(114p)의 값도 i=6, hap=20이 출력이 되는것이 맞지 않나요?
안녕하세요.
for문 뒤에 세미콜론(;)이 있는 경우에는 for문에서 반복 변수만 반복됩니다.
그러므로 i는 최종 증가치가 적용된 후11이 되고 hap에는 그 11이 누적된 65가 된 상태에서 for문을 빠져나와 출력문에 의해 출력됩니다.
하지만 34번 문제는
출력이 for문 안쪽에서 수행됩니다.
그러므로 for문에서 반복 변수 i는 최종 증가값이 적용되어 6이 된 후 그 값이 hap에 누적되어 20이 되지만 이때 i와 hap은 출력되지 못합니다. 최종 증가값이 적용된 후 반복문을 진입하는 것이아니라 벗어나게 되므로 출력은 하지 못하고 값만 증가나 누적되기 때문이죠.
그러므로 실제 출력은 i가 5이고 hap이 14인 경우까지만 출력됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-12 10:49:22
안녕하세요.
for문 뒤에 세미콜론(;)이 있는 경우에는 for문에서 반복 변수만 반복됩니다.
그러므로 i는 최종 증가치가 적용된 후11이 되고 hap에는 그 11이 누적된 65가 된 상태에서 for문을 빠져나와 출력문에 의해 출력됩니다.
하지만 34번 문제는
출력이 for문 안쪽에서 수행됩니다.
그러므로 for문에서 반복 변수 i는 최종 증가값이 적용되어 6이 된 후 그 값이 hap에 누적되어 20이 되지만 이때 i와 hap은 출력되지 못합니다. 최종 증가값이 적용된 후 반복문을 진입하는 것이아니라 벗어나게 되므로 출력은 하지 못하고 값만 증가나 누적되기 때문이죠.
그러므로 실제 출력은 i가 5이고 hap이 14인 경우까지만 출력됩니다.
오늘도 즐거운 하루 되세요.