22-2아래 C 프로그램을 실행했을 때 출력되는 값을 적으시오.#inc… | 2022년 정보처리기사실기 2회차 기출문제 상세 페이지
8
22-2
아래 C 프로그램을 실행했을 때 출력되는 값을 적으시오.
#include <stdio.h>
int main(void) {
int v[5] = {1, 3, 7, 12, 20};
int d[4];
int *q;
int acc = 0;
for (int i = 0; i < 4; i++) {
q = v + i + 1;
d[i] = *q - *(q - 1);
acc += d[i] * i;
}
printf("%d", acc);
return 0;
}해설
38
[해설]
q = v + i + 1은 v[i+1]의 주소이므로 *q는 v[i+1], *(q − 1)은 v[i]다. 즉 d[i]는 이웃한 원소의 차다.
- i=0: d[0] = 3 − 1 = 2, acc += 2×0 → 0
- i=1: d[1] = 7 − 3 = 4, acc += 4×1 → 4
- i=2: d[2] = 12 − 7 = 5, acc += 5×2 → 14
- i=3: d[3] = 20 − 12 = 8, acc += 8×3 → 38
최종 출력은 38이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.