删除单链表指定结点出现段错误?
Posted littlelittletiger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除单链表指定结点出现段错误?相关的知识,希望对你有一定的参考价值。
起初我是这么写的:
struct node * deletenode(struct node *head,int b) struct node *pre,*cur; pre=NULL; cur=head; if(head&&head->data==b) head=head->next; free(cur); else while(cur->data!=b) pre=cur; cur=cur->next; pre->next=cur->next; free(cur); return head;
结果提交时说段错误,改成下面这样就通过了,暂时还不知道为啥。。。
struct node * deletenode(struct node *head,int b) struct node *pre,*cur; pre=NULL; cur=head; if(head&&head->data==b) head=head->next; free(cur); else while(cur) if(cur->data==b) pre->next=cur->next; free(cur); pre=cur; cur=cur->next; return head;
以上是关于删除单链表指定结点出现段错误?的主要内容,如果未能解决你的问题,请参考以下文章