책 내용 질문하기
72페이지 문의드립니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
72
조회수
131
작성일
2019-06-07
작성자
탈퇴*원
첨부파일

while 문 C언어 코드에서 i가 10이면 No로 이동하여 i는 10, hap은 처음값 그대로 45가 되어야하는게 아닌가요?

해설에는 i가 10이 되었을 때 10을 hap에 누적한 다음 while문을 벗어나야한다고 되어있는데

i<10 조건을 만족시키지 못하는 상황에서 왜 이렇게 되는지 궁금합니다. 

답변
2019-06-10 10:48:05

안녕하세요 길벗수험서 운영팀입니다.

 

while문의 진입 조건과 해당 코드에 도착했을 때의 값을 고려하세요.

코드는 항상 한줄 한줄 진행하면서 디버깅 해보시면 쉽게 결과를 확인할 수 있습니다.

 

i가 8일 때 ①번에 도착했다고 가정해보죠.

i는 9가 되고 hap은 45가 됩니다.

다시 ①번에 돌아오고 i는 10보다 작으니,

다시 i++을 통해 i는 10이 되고, hap은 55가 됩니다.

다시 ①번에 돌아오고 i는 10보다 작지 않으니 while문을 탈출하여 ⑥번으로 갑니다.

 

이 때, 결과값은 i는 10, hap은 55가 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-10 10:48:05

    안녕하세요 길벗수험서 운영팀입니다.

     

    while문의 진입 조건과 해당 코드에 도착했을 때의 값을 고려하세요.

    코드는 항상 한줄 한줄 진행하면서 디버깅 해보시면 쉽게 결과를 확인할 수 있습니다.

     

    i가 8일 때 ①번에 도착했다고 가정해보죠.

    i는 9가 되고 hap은 45가 됩니다.

    다시 ①번에 돌아오고 i는 10보다 작으니,

    다시 i++을 통해 i는 10이 되고, hap은 55가 됩니다.

    다시 ①번에 돌아오고 i는 10보다 작지 않으니 while문을 탈출하여 ⑥번으로 갑니다.

     

    이 때, 결과값은 i는 10, hap은 55가 됩니다.

     

    행복한 하루되세요 :)

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