C출력 결과보통 · 20점#연결 리스트#구조체#포인터

218. 연결 리스트에서 짝지어 값 교환

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

1#include <stdio.h>
2
3struct Node {
4 int val;
5 struct Node *next;
6};
7
8int main() {
9 struct Node e = {5, NULL};
10 struct Node d = {1, &e};
11 struct Node c = {8, &d};
12 struct Node b = {3, &c};
13 struct Node a = {7, &b};
14 struct Node *p = &a;
15 int t;
16 while (p != NULL && p->next != NULL) {
17 t = p->val;
18 p->val = p->next->val;
19 p->next->val = t;
20 p = p->next->next;
21 }
22 for (p = &a; p != NULL; p = p->next) {
23 printf("%d ", p->val);
24 }
25 printf("\n");
26 return 0;
27}

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