책 내용 질문하기
1권 156쪽 33번 문제에 대해 질문 드립니다.
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
156
조회수
188
작성일
2020-11-24
작성자
탈퇴*원
첨부파일

i의 초기값을 반복문에서 처음 주었기 때문에 반복문을 1회 실행하면 hap의 값은 i값인 1이 누적되어야 하는게 아닌가요?

답지에 반복문 1회 실행시 hap의 값이 0, i값은 1인데 왜 그런지 모르겠습니다.

답변
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에 더해진다는 것을 염두에 두세요.)

 

행복한 하루되세요 :)

  • 관리자
    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에 더해진다는 것을 염두에 두세요.)

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.