# include <stdio.h>
# include <malloc.h>
struct list
{ int data;
struct list *next;
};
typedef struct list node;
main()
{ node *head,*r;
int num,i;
r=(node *)malloc(sizeof(node));
r=head;
for(i=0;i<3;i++)
{ scanf("%d",&num);
r->data=num;
r->next=(node *)malloc(sizeof(node));
r=r->next;
}
r->next=NULL;
r=head;
while(r->next!=NULL)
{ printf("%d",r->data);
r=r->next;
}
}
这是为什么呢,请高手细心讲解下。谢谢
原理是什么呢。麻烦讲解下。谢谢
追答就是用head保存头指针啊。如果是:
r=(node *)malloc(sizeof(node));
r=head;
的话,head都没有初始化,那r的值就没有意义,下面怎么能r->data=num;这样使用呢