책 내용 질문하기
java 실행
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
115
조회수
103
작성일
2018-04-06
작성자
탈퇴*원
첨부파일

예상문제은행 20번,

(a=0; a<10; ++a, hap+=a);

a=1일때 hap의 값은 1 인데,

문제 25번에서

(i=1; i<=10; ++i, hap+=i);

i=1 일때 hap의 값이 왜 0인지 너무 헷갈립니다.

i 탈출하는 값은 이해하겠으나 hap의 값을 구하는 디버깅과정에서

맨처음 주어진 i의 값이 0과 1이냐에 따라 hap값이 달라지는 이유를 알고싶습니다.

답변
2018-04-09 09:31:07

안녕하세요.

반복문은 우선 초기값을 가지고 반복문을 수행합니다.

a가 0일 때 반복문을 수행하는데, 수행할 실행문이 없으므로

a가 0일 때는 hap은 0입니다. 이후

바로 증가치를 적용합니다.

++a, hap+= a

그래서 a가 1이 된 상태로 hap에 1이 저장됩니다.

i가 1일 때 반복문을 수행하는데, 수행할 실행문이 없으므로

i가 1일 때 hap은 0입니다. 이후

바로 증가치를 적용합니다.

++i, hap += i

그래서 i가 2가 된 상태에서 hap에 2가 저장됩니다.

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

  • *
    2018-04-09 09:31:07

    안녕하세요.

    반복문은 우선 초기값을 가지고 반복문을 수행합니다.

    a가 0일 때 반복문을 수행하는데, 수행할 실행문이 없으므로

    a가 0일 때는 hap은 0입니다. 이후

    바로 증가치를 적용합니다.

    ++a, hap+= a

    그래서 a가 1이 된 상태로 hap에 1이 저장됩니다.

    i가 1일 때 반복문을 수행하는데, 수행할 실행문이 없으므로

    i가 1일 때 hap은 0입니다. 이후

    바로 증가치를 적용합니다.

    ++i, hap += i

    그래서 i가 2가 된 상태에서 hap에 2가 저장됩니다.

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

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