SECTION 오른쪽에 빈 삼각형 배열 만들기에서
C언어 코드로 설명할때
변수'L'을 정의 할때
C언어에서는 배열이 0부터 시작하기 때문에 L=x-i; 로 한다고 책에 나와 있는데,
그럼 x=7인데, 7-0이되어 L은 7로 배열의 크기를 벗어나버리지 않나요?
else 에서의 L을 정의 할때도 같은 생각으로 잘 이해가 가지 않습니다.
안녕하세요.
중간 행 이전까지는
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까지 수행된다는 것을 염두에 두고 남은 디버깅 과정도 확인해 보세요.
오늘도 즐거운 하루 되세요.