有关链表
STUDENT * Delete_stu_list(STUDENT * head,char * sname){
STUDENT *q,* p;
p = head;
while(p->next)
{
q = p;
p = p->next;
if(strcmp(p->name,sname) == 0)
{
if(p == head)
head = p->next;
else
q->next = p->next;
free(p);
}
}
return head;
}
请帮我看看这段代码,我的理解是会漏掉第一个结点,事实也是这样,可是当后面的结点符合删除条件时,会抱发送错误报告的错误,就算是漏掉了第一个接点,也不应该抱这个错误啊 while(p->next)//p是有效的么?
free(p)//这把p释放了,while还能用p么
算法对不对就不知道了,没仔细看 建议楼主,先不要使用户代码书写,这样对你的逻辑会清晰一点的!
在这里提出!如何对X的次方种组合一一列出?
已经有答案!楼主想一下!
页:
[1]