i의 초기값을 반복문에서 처음 주었기 때문에 반복문을 1회 실행하면 hap의 값은 i값인 1이 누적되어야 하는게 아닌가요?
답지에 반복문 1회 실행시 hap의 값이 0, i값은 1인데 왜 그런지 모르겠습니다.
안녕하세요 길벗수험서 운영팀입니다.
문제 33번의 경우 출력문이 for문 밖에 있음을 염두에 두세요.
해당 for문은 마지막에 붙은 세미콜론(;)으로 인해 반복시키는 별도의 코드 없이 혼자만 반복됩니다.
즉, i=1로 시작하여
++i, hap+=i를 계속 수행하다가,
i<=10이 거짓이 되었을 때 빠져나온 후,
출력문을 수행하게 되죠.
이때 i의 값은 11, hap은 i의 값을 2부터 11까지 더한 65가 결과로 나오게 됩니다.
(디버깅 표는 단순히 변수에 저장된 갑의 변화입니다. 출력과는 무관합니다.
i가 for문에 처음 진입했을 때는 1이지만, 이후 증가식에서 ++i, 수행 후 2로, 다음 hap+=i로 인해 2가 hap에 더해진다는 것을 염두에 두세요.)
행복한 하루되세요 :)
-
관리자2020-11-26 10:29:53
안녕하세요 길벗수험서 운영팀입니다.
문제 33번의 경우 출력문이 for문 밖에 있음을 염두에 두세요.
해당 for문은 마지막에 붙은 세미콜론(;)으로 인해 반복시키는 별도의 코드 없이 혼자만 반복됩니다.
즉, i=1로 시작하여
++i, hap+=i를 계속 수행하다가,
i<=10이 거짓이 되었을 때 빠져나온 후,
출력문을 수행하게 되죠.
이때 i의 값은 11, hap은 i의 값을 2부터 11까지 더한 65가 결과로 나오게 됩니다.
(디버깅 표는 단순히 변수에 저장된 갑의 변화입니다. 출력과는 무관합니다.
i가 for문에 처음 진입했을 때는 1이지만, 이후 증가식에서 ++i, 수행 후 2로, 다음 hap+=i로 인해 2가 hap에 더해진다는 것을 염두에 두세요.)
행복한 하루되세요 :)