게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
이중연결리스트 프로그램인데 질문드립니다.
게시물ID : programmer_16501짧은주소 복사하기
작성자 : mayone
추천 : 0
조회수 : 637회
댓글수 : 11개
등록시간 : 2016/04/04 00:00:06
옵션
  • 베스트금지
  • 본인삭제금지
  • 외부펌금지
#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글자넘어가면 오류가 뜨네요 이유가뭘까요ㅠㅠ?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호