栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

浅谈单向链表尾部添加节点的一种错误写法(c语言)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈单向链表尾部添加节点的一种错误写法(c语言)

第一次写这个程序时,我在增加节点的位置是这么写的

while(pr!=NULL)
        {
        pr = pr->next;
        }
        pr = p;//p为申请好的一块结构体内存,pr最初等于head(头指针)

之后编译运行后,并没有添加成功新的节点。

看了标准答案后发现书上是这么写的。

while(pr->next !=NULL)
        {
            pr = pr->next;
        }
        pr->next = p;

看了之后感觉我写的和书上其实没什么区别啊,百思不得其解。

怀揣着疑问我回到了宿舍,迫不及待地向几个舍友求教。

不过我这个错误的确很有迷惑性,大家都有点蒙住了。。。

最终舍弃了午睡时间,想啊想,舍友hj终于明白了我错在了哪。

错误就在于,不可以使用

pr != NULL

 这个条件来判断,因为如果用这个条件判断,循环结束后,pr的值就是为空,这时候它的确赋上了next的值,但因为next为空,你是无法通过给pr接上一个节点来间接给这个next接上节点的!

(END)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/588734.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号