| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 296 人关注过本帖
标题:一个简单的链表赋值求解决
只看楼主 加入收藏
行僧
Rank: 1
等 级:新手上路
帖 子:8
专家分:4
注 册:2012-10-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
一个简单的链表赋值求解决
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
    int data;
    struct node *next;
}list , *plist;plist init(void)
{
    plist h;
    h=(plist)malloc(sizeof(list));
    if(h)
        h->next=NULL;
    return h;
}
plist creat(plist h, int i)//创建一个有5个结点构成的单链表
{
    plist p,r;
    r=h;
    p=(plist)malloc(sizeof(list));
    int j=0,x;
    for(;j<i;j++)
    {
        scanf("%d",&x);
        p->data=x;
        r->next=p;
        r=p;
    }
    return h;
}
int main()
{
    plist  p,h;
    h=init();
    p=creat(h,5);//要输入5个数
    while(p)
    {
        p=p->next;
        printf("%d",p->data);
    }
    return 0;
}
不明白那错了,为什么是无限循环,求高手指点一下
        
搜索更多相关主题的帖子: return include next 
2012-10-14 15:00
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:14 
plist  p,h;
声明了两个指针,没有初始化
p=creat(h,5);//要输入5个数
这里又不传递h的指针,即使函数执行成功了,也不会改变主函数的结果。因此你的链表操作函数写错了。
主函数声明实体,然后传递指针给调用函数,比如
list p,h;
p=creat(&h,5)

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-10-14 16:38
行僧
Rank: 1
等 级:新手上路
帖 子:8
专家分:4
注 册:2012-10-10
收藏
得分:0 
谢谢、
2012-10-15 22:41
快速回复:一个简单的链表赋值求解决
数据加载中...
 
   



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

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