다음 C 코드는 원형 연결 리스트에 속한 모든 노드의 값들을 더하여 출력한다. (가) ~ (다)에 들어갈 내용을 바르게 연결한 것은?
#include <stdio.h>
#include <malloc.h>
typedef struct Node {
struct Node *a;
int b;
} Node;
int listSum(Node *p) {
int sum = 0;
Node *s = p;
do {
sum += (가) ;
p = (나) ;
} while ( (다) );
return sum;
}
int main() {
int MAX = 5;
int i, s;
Node *p[MAX];
for( i = 0; i < MAX; i++) {
p[i] = (Node*)malloc(sizeof(Node));
p[i]->b = i+1;
}
for( i = 0; i < MAX-1; i++)
p[i]->a = p[i+1];
p[MAX-1]->a = p[0];
s = listSum(p[0]);
printf("Sum = %d", s);
} (가) (나) (다)
- ①p.b p.a p != NULL
- ②p->a p->b p != s
- ③p->b p->a p != NULL
- ④(*p).b (*p).a p != s
선지를 골라 바로 채점해 보세요.
정답 ④
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)