从a链表中删除与b链表中有相同学号的节点
struct student *delete(struct student *p1,struct student *p2)
{
struct student *head1,*head2,*p3,*temp;
for(head1=p3=p1;p1!=NULL;p1=p1->NEXT){
for(head2=p2;p2!=NULL;p2=p2->NEXT){
if(p1->num==p2->num){
if(p1==head1){
head1=head1->NEXT;
}else{
temp=p1;
p3->NEXT=p1->NEXT;
free(temp);
p1=p3;
printf("here\n");
}
}
}
p3=p1;
}
return head1;
}
这一段有问题