C语言大佬帮帮忙
void Delete_same_element(Linklist head){
int a;
Linklist p,q;
p= head;
scanf("%d", &a);
while(p->next != NULL)
{
q= p->next;
if(a==q->data)
{
p->next = q->next;
q= NULL;
}
else
p=p->next;
}
}
这个free要插在哪?
如果把free放在 q=null之前可以运行但是会报
debug error
damage: after normal block(#52)at 0x003A0F78
大佬们看看怎么改 不用free吧 你Linklist的定义呢? 函数定义中的:Linklist head是值复制,不是值引用。所以不能free的。
如果是引用的话,在你说的地方进行释放就可以了
页:
[1]