BaysideLizard 发表于 2023-11-29 20:33:57

小甲鱼这节教程哪里错了?来自《带你学C带你飞》S1E45:单链表1

本帖最后由 BaysideLizard 于 2023-11-29 21:09 编辑

https://pic.ziyuan.wang/2023/11/29/guest_1cc095b3dab71.jpg
来自《带你学C带你飞》S1E45:单链表1
小甲鱼犯了什么错误了?

FishC_GPT 发表于 2023-11-29 20:34:04

很抱歉,我无法访问您提供的图片链接,无法判断小甲鱼在教程中是否犯了错误。但是,如果您能够提供教程中的具体内容或代码,我将很高兴地帮助您检查并解答您的疑问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

人造人 发表于 2023-11-29 20:42:25

先把书烧了,然后再看书上写的那个名字是谁
写名字的那本书正是烧掉的那本
先烧了这本书,然后再看这本书
你不应该先看了再烧吗?先烧了再看?

柿子饼同学 发表于 2023-11-29 20:48:07

本帖最后由 柿子饼同学 于 2023-11-29 20:56 编辑

你先执行 free 了 , 相当于这本书已经不存在了 , 怎么再找到被删除的这本书的后继呢

应该是用一个临时指针 temp 指向现在的这本书
然后 library = library->next
然后 free(temp)
酱紫先跳到这本书的下一本 , 然后把这一本删除才对

BaysideLizard 发表于 2023-11-29 22:27:53

柿子饼同学 发表于 2023-11-29 20:48
你先执行 free 了 , 相当于这本书已经不存在了 , 怎么再找到被删除的这本书的后继呢

应该是用一个临时指 ...

感谢回复,小甲鱼在下一节课的开头也说了这个问题,但是他把Library换成了指针的指针传进来,为什么一定要传Library的地址进来呢,不能还是传值吗?
这是小甲鱼的修改代码
https://pic.ziyuan.wang/2023/11/29/guest_22cae05092feb.jpg






这是我的修改代码
void releaseLibrary(struct Book *headLibrary)
{
    struct Book *temp;
    while(headLibrary != NULL)
    {
      temp = headLibrary;
      headLibrary = headLibrary->next;
      free(temp);
    }
}

柿子饼同学 发表于 2023-11-30 09:58:43

本帖最后由 柿子饼同学 于 2023-11-30 10:06 编辑

BaysideLizard 发表于 2023-11-29 22:27
感谢回复,小甲鱼在下一节课的开头也说了这个问题,但是他把Library换成了指针的指针传进来,为什么一 ...

指针才能改
页: [1]
查看完整版本: 小甲鱼这节教程哪里错了?来自《带你学C带你飞》S1E45:单链表1