gpt4 book ai didi

打印链表后崩溃

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

我有以下结构:

struct coords
{
int x;
int y;
struct coords* previous;
struct coords* next;
};

然后,我有一个这些坐标的双向链表(格式为 (x,y)),它应该如下所示(其中 head 和 tail 是列表的开头和结尾):

head                                                          tail
(-1, -1) <--> (0, 1) <--> (2, 1) <--> (1, 0) <--> (0, 2) <--> (-1, -1)

我想打印这个列表,所以我有以下代码:

struct coords* iter = head;
while (iter->next != NULL)
{
printf("\n [this node: (%d, %d)] -> [next node: (%d), (%d)]", iter->x, iter->y, iter->next->x, iter->next->y);
iter = iter->next;
}
printf("done with loop");

我得到的输出是这样的:

[this node: (-1, -1)] -> [next node: (0, 1)]
[this node: (0, 1)] -> [next node: (2, 1)]
[this node: (2, 1)] -> [next node: (1, 0)]
[this node: (1, 0)] -> [next node: (0, 2)]
[this node: (0, 2)] -> [next node: (-1, -1)]

这都是正确的。然而,在打印最后一行后,我的程序立即崩溃,没有打印“done with loop”。

最佳答案

你确定tail->next的值为NULL吗?

如果不是,那就是原因!

关于打印链表后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204857/

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