C출력 결과보통 · 20점#배열#포인터#함수

81. 함수에 넘긴 배열과 원본 수정

다음 C 프로그램의 실행 결과를 쓰시오.

1#include <stdio.h>
2
3void accumulate(int arr[], int n) {
4 for (int i = 1; i < n; i++) {
5 arr[i] += arr[i - 1];
6 }
7}
8
9void clear(int v) {
10 v = 0;
11}
12
13int main() {
14 int data[] = {3, 1, 4, 1, 5, 9};
15 int n = sizeof(data) / sizeof(data[0]);
16 accumulate(data + 2, 3);
17 clear(data[0]);
18 accumulate(data, 2);
19 printf("%d\n", n);
20 for (int i = 0; i < n; i++) {
21 printf("%d%c", data[i], i < n - 1 ? ' ' : '\n');
22 }
23 return 0;
24}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.