18. 다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include
#include
typedef struct Data {
int value;
struct Data *next;
} Data;
Data* insert(Data* head, int value) {
Data* new_node = (Data*)malloc(sizeof(Data));
new_node->value = value;
new_node->next = head;
return new_node;
}
Data* reconnect(Data* head, int value) {
if (head == NULL || head->value == value) return head;
Data *prev = NULL, *curr = head;
while (curr != NULL && curr->value != value) {
prev = curr;
curr = curr->next;
}
if (curr != NULL && prev != NULL) {
prev->next = curr->next;
curr->next = head;
head = curr;
}
return head;
}
int main() {
Data *head = NULL, *curr;
for (int i = 1; i next)
printf("%d", curr->value);
return 0;
}
| 정답 확인 | 맞췄어요 O | 틀렸어요 X |