gpt4 book ai didi

c - 反转链表 C

转载 作者:行者123 更新时间:2023-11-30 20:06:26 26 4
gpt4 key购买 nike

node *rever(node *root)
{
node *prev = NULL;
node *xnew = NULL;

while (root != NULL) {

xnew = malloc(sizeof(root));
xnew->value = root->value;
xnew->next = prev;

prev = xnew;
root = root->next;
}



return xnew;
}

你好,我写了这个链表反向函数。但是它不起作用(空响应):我怀疑这是因为上一个索引被覆盖。有人可以向我解释一下发生了什么事吗?我知道我可以在互联网上找到工作代码,但我想知道我做错了什么。

谢谢

最佳答案

这看起来接近正确。我看到一个问题:sizeof(root)sizeof(node*) 相同。也就是说,它有足够的空间容纳指向节点的指针。

您需要足够的空间来容纳实际的node结构。因此 malloc sizeof(*root) 个字节(或 sizeof(node),这是相同的)。

关于c - 反转链表 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197122/

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