标题:动态链表建立与输出错误
取消只看楼主
hcs_xiaohan
Rank: 2
等 级:论坛游民
帖 子:40
专家分:23
注 册:2016-7-4
结帖率:91.67%
已结贴  问题点数:20 回复次数:2 
动态链表建立与输出错误
建立动态链表,存储学生的学号和成绩并输出。

代码如下:

#include<stdio.h>
#include<malloc.h>
struct student
{
    long num;
    float score;
    struct student *next;
};
struct student *creat()
{
    struct student *head,*p,*pb;
    head=NULL;
    p=pb=(struct student *)malloc(sizeof(struct student));
    scanf("%ld,%f",&p->num,&p->score);
    p->next=NULL;
    while(p->num!=-1)
    {
        if(head==NULL)
            head=p;
        else
            pb->next=p;
        pb=p;
        p=(struct student *)malloc(sizeof(struct student));
        scanf("%ld,%f",&p->num,&p->score);
    }
    p->next=NULL;
    return head;
}
void print(struct student *head)
{
    struct student *pp;
    pp=head;
    while(pp!=NULL)
    {
        printf("%ld%5.1f\n",pp->num,pp->score);
        pp=pp->next;
    }
}
void main()
{
    struct student *creat();
    void print(struct student *head);
    struct student *head;
    head=creat();
    print(head);
}


运行时输入一组数据没问题,但输入两组以上就会发生如下错误:


请各位为我指点指点。
搜索更多相关主题的帖子: include 动态 
2016-09-21 20:27
hcs_xiaohan
Rank: 2
等 级:论坛游民
帖 子:40
专家分:23
注 册:2016-7-4
得分:0 
回复 2楼 linlulu001
释放节点好像也没有解决报错问题啊?
2016-09-22 19:35
hcs_xiaohan
Rank: 2
等 级:论坛游民
帖 子:40
专家分:23
注 册:2016-7-4
得分:0 
回复 4楼 linlulu001
抱歉,我看错了,的确是那儿的问题。多谢你咯!
2016-09-22 20:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469036-1-1.html




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

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