gpt4 book ai didi

c - C : add an element at the end of a list

转载 作者:行者123 更新时间:2023-12-02 10:41:20 25 4
gpt4 key购买 nike

我想在列表末尾添加一个项目。我不明白为什么该程序正在编译,但是出现了问题并停止了执行。注释函数的最后一行,一切正常,但是很明显,它丢失了指向列表最后一个元素的指针。我认为这与“ptr”修改其“指针”的不可能有关。有人可以帮我吗?谢谢

void add_element(struct element *ptr, int item) {

while(ptr != NULL) {
ptr = ptr->pointer;
}
struct element *ptr2;
ptr2 = (struct element*)malloc(sizeof(struct element));
ptr2->number = item;
ptr2->pointer = NULL;
ptr->pointer = ptr2; }

最佳答案

在代码的最后一行,您将不希望将值分配给ptr->pointer,但是在您的while循环中,您的条件是:如果ptr不为NULL,我们将继续,因此在退出while循环后,ptr等于NULL
要解决您的问题,请使用以下while循环:

while(ptr->pointer != NULL) {
ptr = ptr->pointer;
}

关于c - C : add an element at the end of a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64153054/

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