C语言的动态链表问题
我不明白的部分,p1=p2=(struct stu*)malloc(sizeof(struct stu));
(还有几行的,不列出来了,反正无影响问题的,总之程序是没错误的,重点是下面。)
while(p1->num!=0)
{p2->next=p1;p2=p1;
p1=(struct stu*)malloc(sizeof(struct stu));
scanf('%d",&p1->num);}
是这样的,它的目的我也明白,但是开始p2->next=p1,这样可以理解,但然后p2=p1,这不是将整个p2覆盖了吗,那么开始p2->next=p1还有什么意义的,这还怎能建立连续的链表呢?