| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 404 人关注过本帖
标题:链表添加节点问题
只看楼主 加入收藏
FireRabbit
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
链表添加节点问题
1
程序代码:
//此函数用于添加一个节点
void Addlink(struct Date * head)
{
    struct Date * newone,* p;
    newone = (struct Date *)malloc(sizeof(struct Date));//为新节点分配内存

    for(p=head;p!=NULL;p=p->next)    //找出最后一个节点
        ;                    

    p->next = newone;            //让原来最后的节点指向新节点
    printf("请输入新节点的值:");
    scanf("%d",&newone->num);
    newone->next = NULL;    //完成后让新节点指向NULL
    printf("添加节点成功!\n");
}

上面的函数用于添加一个节点,为什么p->next=newone这里会出问题呢?


2014-08-28 11:30
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1483
专家分:9055
注 册:2010-3-16
收藏
得分:20 
for(p=head;p!=NULL;p=p->next)
结束条件应该是p==NULL。

改成for(p=head;p->next!=NULL;p=p->next) 试试。
2014-08-28 12:45
FireRabbit
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-6
收藏
得分:0 
回复 2 楼 apull
是我疏忽了……测试成功,谢谢!

我的愿望是用C++开发自己的游戏引擎。
在此之前还有许多东西要学……
2014-08-28 13:46
快速回复:链表添加节点问题
数据加载中...
 
   



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

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