[7급 국가직 자료구조론 2022년 8번]

다음 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);
}
(가) (나) (다)
자료구조론
  1. ①p.b p.a p != NULL
  2. ②p->a p->b p != s
  3. ③p->b p->a p != NULL
  4. ④(*p).b (*p).a p != s

선지를 골라 바로 채점해 보세요.

정답 ④

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고