谁帮我讲解一下这个代码的意义,从for那行开始 (重点在8,9,10,15行)
void INSERT() //添加函数{
struct student *p3,*p4;
for(;;)
{
for(p3=head;p3->next!=NULL;)
{ p3=p3->next;}
p4=p3;
p4=(struct student *)malloc (LEN); //创建一个新空间
p3->next=p4;
printf("号数 姓名 性别 高数 大学英语 C语言\n");
scanf("%d",&p4->num);
if(p4->num==0) {p3->next=NULL;break;}
scanf("%s%s%f%f%f",p4->name,p4->sex,&p4->score[0],&p4->score[1],&p4->score[2]);
p3=p4;
p3->next=NULL;
A++;
}
printf("请按任意键返回主菜单.");
getch(); //等待输入任意健
}
主要是不懂为什么要让p4=p3再让p4=(struct student *)malloc (LEN) 再让scanf后面的p3=p4