#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct DlistNode {
char *data;
struct DlistNode *next;
struct DlistNode *prev;
} DlistNode;
DlistNode *head;
// 이중 연결 리스트를 초기화
void init()
{
head = (DlistNode*)malloc(sizeof(DlistNode));
head->next = head;
head->prev = head;
}
// 이중 연결 리스트의 노드를 출력
void display(DlistNode *p)
{
while (p != head) {
printf("%s",&p->data);
p = p->next;
printf("\n");
}
}
// 노드 삽임
void dinsert_node(char *dan)
{
DlistNode *s;
s = (DlistNode*)malloc(sizeof(DlistNode));
s->data = dan;
s->prev = head;
s->next = head->next;
head->next->prev= s;
head->next = s;
}
// 이중 연결 리스트 테스트 프로그램
int main()
{
int i;
char *dan;
init();
for (i = 0; i < 5; i++) {
scanf("%s", &dan);
dinsert_node(dan);
}
display(head->next);
}
문자를 입력받아 이중연결리스트에 넣는 프로그램인데 aaa같은 3글자까지는 잘입력받는데 4글자넘어가면 오류가 뜨네요 이유가뭘까요ㅠㅠ?