You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言链表遍历打印时出现无限循环问题求助

问题原因

你的代码构建出了环形链表,导致遍历过程中永远无法触发temp == NULL的终止条件,因此进入死循环。

具体错误点

你每次新建节点时都执行了newnode->next = head;操作:

  • 第一个节点创建时head为NULL,此时该逻辑没有问题
  • 从第二个节点开始,新节点的next指针被错误指向了头节点,再结合你尾插法的逻辑temp->next = newnode,最终会让最后一个节点永远指向头节点,整个链表首尾相连形成环
修复方案

把代码里的

newnode->next = head;

替换为

newnode->next = NULL;

即可。尾插法构建普通单链表时,新插入的尾节点的后继指针需要置空,才能让遍历逻辑正常识别到链表尾部。


内容的提问来源于stack exchange,提问作者im3dabasia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:36:01