c语言,如何修改?

发布网友 发布时间:2022-04-20 11:25

我来回答

1个回答

热心网友 时间:2023-06-26 13:22

解析:设置p,q两个标志,用于确定结点位置。while中的条件为p不空(即p没有到链表末尾)和p所指的结点数据不等于data,若两个条件都满足,p向下一个结点移动,q取代p原来的位置;若前一个条件满足,后一个条件不满足(即p所指的结点数据等于data),则跳出循环,此时p指向满足条件的结点,显然p不为空,故进入else,删除p所指结点需要两步,第一步是:
q->next=p->next,即将q的下一个结点指向p的下一个结点(q的下一个结点原本是p,这样操作相当于在链表中删除了p所指结点)。
第二歩是:free(p),即释放p所指结点。
故答案为:将q=p->next改为q->next=p->next。
望采纳!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com