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

while 구문에서 a=0, b=5이기에 조건이 성립하여 while구문을 실행하게 되는데 ++a도 실행되어 a가 1이되었기에 c가 1이 아닌가요??

처음1회 실행시키게 되면 a=0, b=5, c=1이 아닌가요? 왜 처음에 a=0, b=5, c=0인지 궁금합니다.

++a가 전치 연산자이기에 while구문에서 조건이 맞아서 내려오게 되면 바로 a의 값이 0에서 1로 변화되어 c에 1을 더해 c값이 1이 되는 것이 1회 반복했을 때가 아닌가요? 

답변
2019-03-26 10:34:08

안녕하세요.

 

530쪽 해설과 같이

main() 함수에서 prnt() 함수를 호출하기 전에는

a = 0, b = 5, c = 0인 상태입니다.

 

prnt() 함수 안으로 들어와 처음 while문을 진입한 후

그 안에서 다시 prnt() 함수를 호출하기 바로 전은

a = 1, b = 5, c = 1인 상태입니다.

 

처음 a = 0, b = 5, c = 0은 prnt() 함수 안에서가 아니라 prnt() 함수가 처음 호출되기 바로 전인 main() 함수에서의 상태입니다.

 

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

  • 관리자
    2019-03-26 10:34:08

    안녕하세요.

     

    530쪽 해설과 같이

    main() 함수에서 prnt() 함수를 호출하기 전에는

    a = 0, b = 5, c = 0인 상태입니다.

     

    prnt() 함수 안으로 들어와 처음 while문을 진입한 후

    그 안에서 다시 prnt() 함수를 호출하기 바로 전은

    a = 1, b = 5, c = 1인 상태입니다.

     

    처음 a = 0, b = 5, c = 0은 prnt() 함수 안에서가 아니라 prnt() 함수가 처음 호출되기 바로 전인 main() 함수에서의 상태입니다.

     

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

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