책 내용 질문하기
섹션7 c언어의 포인터와 배열 문제 중
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
84
조회수
103
작성일
2018-09-08
작성자
탈퇴*원
첨부파일

문제 3번 해설 내용은 이해를 하겠습니다. 그런데 결과 값이 1,1,2,4,8이 어떻게 나오는건지 디버깅 적어놓은 것을 보아도 의미가 이해가 안가요.. 477쪽 디버깅 표시 해놓은 해설 부분 중에서 numAry 배열표 부분이 전혀 모르겠네요...

답변
2018-09-10 16:07:02

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

교재 477페이지의 디버깅표와 코드를 참고하면서 봐주시기 바랍니다.

해당 디버깅표는 for (j = 0; j < 5; ++j) 의 반복 횟수에 맞추어 구분선을 그어 놓았으니 이에 맞춰 설명 드리겠습니다.

1. ③ j가 0일 때, ④의 i < j를 만족하지 않으므로 ⑤를 수행하지 않습니다.

2. ③ j가 1일 때, ④의 i < j를 만족하는 횟수는 i가 0일 때 1번이므로 1회 반복합니다.

- numAry[1] += numAry[0]을 수행합니다.

1

1

0

0

0

3. ③ j가 2일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1일 때 2번이므로 2회 반복합니다.

- numAry[2] += numAry[0]을 수행합니다.

1

1

1

0

0

- numAry[2] += numAry[1]을 수행합니다.

1

1

2

0

0

4. ③ j가 3일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1, 2일 때 3번이므로 3회 반복합니다.

- numAry[3] += numAry[0]을 수행합니다.

1

1

2

1

0

- numAry[3] += numAry[1]을 수행합니다.

1

1

2

2

0

- numAry[3] += numAry[2]을 수행합니다.

1

1

2

4

0

4. ③ j가 4일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1, 2, 3일 때 4번이므로 4회 반복합니다.

- numAry[4] += numAry[0]을 수행합니다.

1

1

2

4

1

- numAry[4] += numAry[1]을 수행합니다.

1

1

2

4

2

- numAry[4] += numAry[2]을 수행합니다.

1

1

2

4

4

- numAry[4] += numAry[3]을 수행합니다.

1

1

2

4

8

5. ③ j가 5일 때 j < 5를 만족하지 않으므로 ⑥번으로 가서 출력을 수행합니다.

행복한 하루되세요.^^

  • *
    2018-09-10 16:07:02

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

    교재 477페이지의 디버깅표와 코드를 참고하면서 봐주시기 바랍니다.

    해당 디버깅표는 for (j = 0; j < 5; ++j) 의 반복 횟수에 맞추어 구분선을 그어 놓았으니 이에 맞춰 설명 드리겠습니다.

    1. ③ j가 0일 때, ④의 i < j를 만족하지 않으므로 ⑤를 수행하지 않습니다.

    2. ③ j가 1일 때, ④의 i < j를 만족하는 횟수는 i가 0일 때 1번이므로 1회 반복합니다.

    - numAry[1] += numAry[0]을 수행합니다.

    1

    1

    0

    0

    0

    3. ③ j가 2일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1일 때 2번이므로 2회 반복합니다.

    - numAry[2] += numAry[0]을 수행합니다.

    1

    1

    1

    0

    0

    - numAry[2] += numAry[1]을 수행합니다.

    1

    1

    2

    0

    0

    4. ③ j가 3일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1, 2일 때 3번이므로 3회 반복합니다.

    - numAry[3] += numAry[0]을 수행합니다.

    1

    1

    2

    1

    0

    - numAry[3] += numAry[1]을 수행합니다.

    1

    1

    2

    2

    0

    - numAry[3] += numAry[2]을 수행합니다.

    1

    1

    2

    4

    0

    4. ③ j가 4일 때, ④의 i < j를 만족하는 횟수는 i가 0, 1, 2, 3일 때 4번이므로 4회 반복합니다.

    - numAry[4] += numAry[0]을 수행합니다.

    1

    1

    2

    4

    1

    - numAry[4] += numAry[1]을 수행합니다.

    1

    1

    2

    4

    2

    - numAry[4] += numAry[2]을 수행합니다.

    1

    1

    2

    4

    4

    - numAry[4] += numAry[3]을 수행합니다.

    1

    1

    2

    4

    8

    5. ③ j가 5일 때 j < 5를 만족하지 않으므로 ⑥번으로 가서 출력을 수행합니다.

    행복한 하루되세요.^^

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