책 내용 질문하기
문제를 컴파일해본 결과 답안과 틀리게 나왔습니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
110
조회수
74
작성일
2017-06-09
작성자
탈퇴*원
첨부파일

답안대로라면 결과가 거짓이 되도록 증가하여 for문을 빠져나가 결과를 출력한다고 해설이 되어있는데요.

실제로 컴파일한결과값은 i=10, hap=54가 나옵니다.

해설의 내용이 맞다면 같은유형의 34번문제(114p)의 값도 i=6, hap=20이 출력이 되는것이 맞지 않나요?

답변
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인 경우까지만 출력됩니다.

오늘도 즐거운 하루 되세요.

  • *
    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인 경우까지만 출력됩니다.

    오늘도 즐거운 하루 되세요.

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