删除第一个节点问题
void delate(struct student *head,int n){
struct student *p,*q,*p1;
printf("plase input delate student old:");
scanf("%d",&n);
p=head;
while(p->next!=NULL)
{
if(head->old==n)
{
p1=head;
head=head->next;
p=head;
// head->next=p->next;
free(p1);
break;
}
else if(p->next->old==n)
{
q=p->next;
p->next=q->next;
free(q);
break;
}
else
p=p->next;
}
}
为什么编译后返回就错了呢,是因为没free吗
[此贴子已经被作者于2016-6-5 16:53编辑过]