단순연결리스트 도와주세요 ㅠㅠ
각티슈
질문 제목 : 단순연결리스트결과값이 이상하게 나옵니다..질문 내용 :
리스트 생성
input a integer number : 1
list contains : 1
input a integer number : 2
list contains : 1 2
input a integer number : 3
list contains : 1 2 3
이런식으로 되야되는데
리스트 생성
input a integer number : 1
list contains : 1
input a integer number : 2
list contains : 11
input a integer number : 3
list contains : 1 1 1
이렇게 1만 출력됩니다 ㅠㅠ 어찌잘못된걸가요
void main(void)
{
int i;
list_pointer newnode;
printf(리스트 생성 \n);
for (i=0; i3; i++) {
newnode = create_node();
add_node(&ptr, newnode);
print_list(ptr);
}
}list_pointer create_node(void)
{
list_pointer ptr;
printf(input a integer number:);
ptr=(list_pointer)malloc(sizeof (list_node));
if(is_full(ptr)){
fprintf(stderr,the memory is full\n);
exit(1);
}
scanf(%d,&ptr-number);
return ptr;
}void add_node(list_pointer *ptr, list_pointer node)
{
list_pointer newnode;
for(newnode=(*ptr); newnode; newnode=newnode-link)
node=newnode;
list_pointer temp;
temp =(list_pointer)malloc(sizeof(list_node));
if(is_full(temp)){
fprintf(stderr,the memory is full\n);
exit(1);
}
temp-number=node-number;
if(*ptr){
temp-link = node-link;
node-link = temp;
}
else{
node-link=null;
*ptr=node;
}
}