책 내용 질문하기
41번 문제
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
118
조회수
77
작성일
2017-03-24
작성자
첨부파일

while 문은 참인 동안만 실행 하는 것이니까

a가 5가 되면서 탈출하고 밑에 실행문은 실행하지 않아서 a=5, b=5, c=10 이되는거 아닌가요?

이게 아니라면 115 페이지 36번 문제에서는 왜 합이 9인가요? i=7이되서 탈출 할때 hap도 더해져서 16으로 나와야되는거 아닌가요? 너무 헷갈리네요

for 문과 do~while 문은 이해가는데 while 문이 문제를 보면 헷갈리게 되네요..

답변
2017-03-24 17:44:39

안녕하세요.

prnt() 함수가 호출되면

a가 0이므로 a

a는 1증가하여 1이 됩니다.

c에 a가 누적되므로 c는 1이 됩니다.

다시 prnt()에 의해 자신을 호출합니다.

a가 1이므로 a

a는 1증가하여 2가 됩니다.

c에 a가 누적되므로 c는 3이 됩니다.

다시 prnt()에 의해 자신을 호출합니다.

a가 2이므로 a

a는 1증가하여 3이 됩니다.

c에 a가 누적되므로 c는 6이 됩니다.

다시 prnt()에 의해 자신을 호출합니다.

a가 3이므로 a

a는 1증가하여 4가 됩니다.

c에 a가 누적되므로 c는 10이 됩니다.

다시 prnt()에 의해 자신을 호출합니다.

a가 4이므로 a

a는 1증가하여 5가 됩니다.

c에 a가 누적되므로 c는 15가 됩니다.

다시 prnt()에 의해 자신을 호출합니다.

a가 5이므로 a

종료 브래이스( } )를 만나 호출한 전 단계로 이동합니다.

역시 a가 5이므로 a

종료 브래이스( } )를 만나 호출한 전 단계로 이동합니다.

이와 같이 전단계로 이동하다 결국 처음 함수를 호출한 곳으로 돌아옵니다.

출력문을 만날 때 a는 5, b는 5, c는 15가 됩니다.

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

  • *
    2017-03-24 17:44:39

    안녕하세요.

    prnt() 함수가 호출되면

    a가 0이므로 a

    a는 1증가하여 1이 됩니다.

    c에 a가 누적되므로 c는 1이 됩니다.

    다시 prnt()에 의해 자신을 호출합니다.

    a가 1이므로 a

    a는 1증가하여 2가 됩니다.

    c에 a가 누적되므로 c는 3이 됩니다.

    다시 prnt()에 의해 자신을 호출합니다.

    a가 2이므로 a

    a는 1증가하여 3이 됩니다.

    c에 a가 누적되므로 c는 6이 됩니다.

    다시 prnt()에 의해 자신을 호출합니다.

    a가 3이므로 a

    a는 1증가하여 4가 됩니다.

    c에 a가 누적되므로 c는 10이 됩니다.

    다시 prnt()에 의해 자신을 호출합니다.

    a가 4이므로 a

    a는 1증가하여 5가 됩니다.

    c에 a가 누적되므로 c는 15가 됩니다.

    다시 prnt()에 의해 자신을 호출합니다.

    a가 5이므로 a

    종료 브래이스( } )를 만나 호출한 전 단계로 이동합니다.

    역시 a가 5이므로 a

    종료 브래이스( } )를 만나 호출한 전 단계로 이동합니다.

    이와 같이 전단계로 이동하다 결국 처음 함수를 호출한 곳으로 돌아옵니다.

    출력문을 만날 때 a는 5, b는 5, c는 15가 됩니다.

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

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