배열 10개를 입력받아서 0~ 0, 0~1, 0~2, 0~3 ~ 0~9 까지의 합을 차례대로 출력하는 프로그램을 오늘 배웠는데요 이해가 가지 않는 부분이 있어서 글 올려요.
int arnData [10] = {0};
for (int i = 0; i < 10; i++){ } for (int i = 1; i < 10; i++){ arnData [i] = arnData[i -1] + i;
printf ("%d\n", arnData[i]); }
이렇게 하면 출력 결과가 1,3,6,10,15,21,28,36,45 가 나오는데요
arnData [i] = arnData[i -1] + i; 이 부분이 이해가 잘 안갑니다. arnData [i] = arnData[i -1] + i; 에서 arnData [i] = arnData[i] + i; 를 입력하면 1,2,3,4,5,6,7,8,9 가 나오고 -1 를 입력하면 왜 1,3,6,10,15,21,28,36,45 가 나오는거죠? (arnData [1] 일때 arnData[1 -1] + 1) = 1 이 되는거잖아요 그럼 첫번째 출력은 1이 되는거고 이런식으로 계산을 하면 맨 마지막 9번째 출력 결과는 (arnData [9] 일때 arnData[9 -1] + 9) = 17이 출력이 되어야 하는거 아닌가요? 저 뒤에 -1 이 for문의 i를 어떻게 하는거 같은데 이해가 안가네요.. i 가 10 보다 클때까지 1씩 증가를 시키는데 저기서 -1을 해버리면 계속 1만 나와야 하는거 아닌가요..?