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

SECTION 오른쪽에 빈 삼각형 배열 만들기에서

C언어 코드로 설명할때

변수'L'을 정의 할때

C언어에서는 배열이 0부터 시작하기 때문에 L=x-i; 로 한다고 책에 나와 있는데,

그럼 x=7인데, 7-0이되어 L은 7로 배열의 크기를 벗어나버리지 않나요?

else 에서의 L을 정의 할때도 같은 생각으로 잘 이해가 가지 않습니다.

답변
2018-03-26 10:54:17

안녕하세요.

중간 행 이전까지는

i가 0일 때 L는 7입니다.

그런 다음 아래쪽 for문에서

j는 0부터 L-1(6)까지 변화합니다.

그러므로 a[0][0] ~ a[0][6]까지 k 값이 증가하면서 저장됩니다.

i가 1일 때 L은 6입니다.

그런 다음 아래쪽 for문에서

j는 0부터 L-1(5)까지 변화합니다.

그러므로 a[1][0] ~ a[1][5]까지 k 값이 증가하면서 저장됩니다.

이와 같이 수행되므로 L이 7이 되었다고 7까지 수행되는 것이 아니라 L-1까지 수행된다는 것을 염두에 두고 남은 디버깅 과정도 확인해 보세요.

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

  • *
    2018-03-26 10:54:17

    안녕하세요.

    중간 행 이전까지는

    i가 0일 때 L는 7입니다.

    그런 다음 아래쪽 for문에서

    j는 0부터 L-1(6)까지 변화합니다.

    그러므로 a[0][0] ~ a[0][6]까지 k 값이 증가하면서 저장됩니다.

    i가 1일 때 L은 6입니다.

    그런 다음 아래쪽 for문에서

    j는 0부터 L-1(5)까지 변화합니다.

    그러므로 a[1][0] ~ a[1][5]까지 k 값이 증가하면서 저장됩니다.

    이와 같이 수행되므로 L이 7이 되었다고 7까지 수행되는 것이 아니라 L-1까지 수행된다는 것을 염두에 두고 남은 디버깅 과정도 확인해 보세요.

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

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