while(p1->num!=0)(这一段代码是说如果输入的数是0的话就停止输入数据不执行这一段代码){n=n+1;if(n==1)head=p1;else p2->next=p1;(如果输入的是第一个学生的数据,head指向第一个学生数据,作为头指针,否则将数据插入当前动态链表的表尾,p2始终指向当前的表尾的)p2=p1;p1=(struct student*)malloc(LEN);scanf("%ld,%f",&p1->num,&p1->score);}