链表问题
//=============创建链表student *create()
{
student *head1=NULL,*p1,*p2;
int n=0;
printf("请输入信息\n");
p1=p2=(student *)malloc(len);
printf("请输入学号和成绩:"); scanf("%d %f",&p1->num,&p1->score);
while(p1->num!=0)
{
n++;
if(n==1) head1=p1;
else {p2->next=p1;} p2=p1;
p1=(student *)malloc(len);
printf("请输入学号和成绩:"); scanf("%d %f",&p1->num,&p1->score);
}
p2->next=NULL;
return head1;
}
//==============输出链表
void print(student *head1)
{
student *p1;
p1=head1;
if(head1==NULL) printf("无记录\n");
else{
printf("有以下记录\n");
while(p1!=NULL)
{
printf("学号:%d 成绩:%.2f\n",p1->num,p1->score);
p1=p1->next;
}
}
system("pause");
}
为什么当输入完第八个节点的信息然后回车 不能继续输入地九个的信息 却直接执行了输出链表函数??? 求高手指点