| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 326 人关注过本帖
标题:链表基本小插曲。。很困惑
只看楼主 加入收藏
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
链表基本小插曲。。很困惑
struct List* Insert (Link *Lis,Link *add,int n)   //插入链表操作
{                     
if (n == 1) {
    add->next = Lis;                              //貌似如果没return的话 Lis还是会指向原来的地址
    return (add);
}
 后面代码不给了 就考虑插入第一节点 遇到个小插曲 如果改成无返回类型void
if里面改成 add->next = Lis; Lis = add;执行逐步编译发现 确实Lis的地址变成了add的地址 形成了 链表 但是结束这个函数却又变回原本的地址了!
当n>1也就是else的情况下 我完全不需要return就可以插入 而这里却需要这个条件 不然地址又回去了 好恶心啊 这是为什么哎
搜索更多相关主题的帖子: next void return 
2012-05-15 03:22
ln6265431
Rank: 5Rank: 5
等 级:职业侠客
帖 子:66
专家分:325
注 册:2012-3-29
收藏
得分:20 
n=1时sit是变量,想必你知道函数是不能改变形参的,所以无法返回在函数中被赋的值,但n不等于1时你插入的那个链接的地址已经存到他前面的链接之中…… 但愿你能明白我的意思
2012-05-15 10:51
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:0 
有点不明白 哎

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2012-05-15 17:13
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:0 
哦!有点明白了!

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2012-05-15 17:49
快速回复:链表基本小插曲。。很困惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035662 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved