책 내용 질문하기
문제 34 풀이좀요
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
114
조회수
71
작성일
2017-04-17
작성자
탈퇴*원
첨부파일

int i = 0, hap = 0 ;

for( i = 1; i <= 5; ++i, hap +=i)

에서 i를 초기값으로 1로 주고 hap += i 했는데 처음 합은 왜 0이죠?

hap = hap + i

0 = 0 + 1 해서 1인줄알았는데

답변
2017-04-18 09:50:19

안녕하세요.

i와 hap은 0을 초기값으로 갖고 시작합니다.

for문에서 i는 1을 갖고 종료값과 비교합니다. i<=5 조건을 만족하므로 반복문 아래 문장을 수행합니다.

printf문에 의해 "합은 1 0입니다."가 출력됩니다.

반복문 아래 문장을 수행한 후 증가값을 처리합니다. 증가값이 2개의 식으로 나열되어 있으므로 하나씩 수행합니다.

++i로 인해 i는 2가 됩니다. hap += i에 의해 hap은 2가 됩니다.

for문의 수행 과정으로 인해

초기값을 갖고 종료값과 비교한 후 조건이 맞으면 반복문을 진입해서 수행한 후 증가값을 처리하므로 교재의 내용과 같이 진행됩니다.

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

  • *
    2017-04-18 09:50:19

    안녕하세요.

    i와 hap은 0을 초기값으로 갖고 시작합니다.

    for문에서 i는 1을 갖고 종료값과 비교합니다. i<=5 조건을 만족하므로 반복문 아래 문장을 수행합니다.

    printf문에 의해 "합은 1 0입니다."가 출력됩니다.

    반복문 아래 문장을 수행한 후 증가값을 처리합니다. 증가값이 2개의 식으로 나열되어 있으므로 하나씩 수행합니다.

    ++i로 인해 i는 2가 됩니다. hap += i에 의해 hap은 2가 됩니다.

    for문의 수행 과정으로 인해

    초기값을 갖고 종료값과 비교한 후 조건이 맞으면 반복문을 진입해서 수행한 후 증가값을 처리하므로 교재의 내용과 같이 진행됩니다.

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

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