gpt4 book ai didi

c - 为什么这个 C 链表会损坏?

转载 作者:行者123 更新时间:2023-12-02 08:55:04 25 4
gpt4 key购买 nike

我已经 2 年没有上过 CS 课了,我不明白为什么这个简单的链表会损坏:

int exists(linkedlist *list, int val) {
if(list == NULL)
return 0;

if(list->value == val)
return 1;
return exists(list->next, val);
}

当我尝试执行 exists(list,33); 列表的第一个值被 33 覆盖。我被迫使用迭代方法并使程序正常运行,但是这个错误我,因为这似乎是一个有效的解决方案。为什么不起作用?

(注意:创建节点时我总是设置list->next = NULL;)

最佳答案

您确定第二个 if 语句是

if(list->value == val)

而不是

if(list->value = val)

这是我能看到的唯一会改变该值的东西。

关于c - 为什么这个 C 链表会损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5567367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com