gpt4 book ai didi

c - 链表的免费功能不起作用

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

我已将下面的函数代码粘贴到以下结构的内容中:

struct LetterFrequencyPair
{
char character;
int frequency;
struct LetterFrequencyPair* next;
};

创建和显示列表不是问题并且工作正常。然而,当我获得自由功能时,什么也没有发生。为了尝试找出问题的原因,我在代码中添加了打印的步骤语句。 (见下面的函数)以查看执行了多少代码。在输出中,我得到的只是“Step 1”,没有其他内容,因此这表明错误发生在该行之后。我不确定这里有什么问题,因为它与我在另一个链接列表练习中使用的格式相同。

如果您发现我哪里出了问题,请告诉我。另外,如果您需要查看整个代码(我很确定您不应该这样做,因为这就是错误所在),请告诉我,我将编辑问题以添加它。:)

 void freeList()
{
struct LetterFrequencyPair* temp;
temp = root;
if (temp == NULL)
{
printf("List is empty.\n");
}
else
{
printf("step 1\n");
while(temp != NULL);
{
printf("Step 2.\n");
struct LetterFrequencyPair* nexttemp = temp->next;
printf("step 3\n");
free(temp);
printf("Step 4\n");
temp = nexttemp;
printf("5\n");
}
printf("\n");
}
}

最佳答案

@Alexander Dmitriev 发现了该错误(他对这个问题发表了评论)。

错误是;在行 while(temp != NULL);

删除了 ;现在该功能可以正常工作了。

关于c - 链表的免费功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55048344/

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