다음 C 프로그램의 출력 결과는?
#include <stdio.h>
#include <stdlib.h>
void processArray(int* array, int size) {
int i = 0;
for(i = 0; i < size; i++) {
array[i] += i * 2;
}
}
void modifyArray(int* array) {
*(array + 1) = 10;
*(array + 3) = 20;
}
int main() {
int i = 0;
int sum = 0;
int size = 5;
int* array = (int*)malloc(size * sizeof(int));
for(i = 0; i < size; i++) {
array[i] = i;
}
processArray(array, size);
modifyArray(array);
for(i = 0; i < size; i++) {
sum += array[i];
}
free(array);
printf("Sum: %d\n", sum);
return 0;
}- ①Sum: 40
- ②Sum: 48
- ③Sum: 50
- ④Sum: 52
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)