| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:求帮忙看下这段基础的C语言链表代码 ,为什么输出学生成绩是0
只看楼主 加入收藏
a645294869
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-22
收藏
 问题点数:0 回复次数:2 
求帮忙看下这段基础的C语言链表代码 ,为什么输出学生成绩是0
程序代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct student{
    long num;
    float score;
    struct student *next;
} STU;
STU *head=NULL;
STU *creat(void)
{
    long number;
    float grade;
    STU *last=NULL;
    scanf("%d %d",&number,&grade);
    while (number!=0&&grade!=0)
    {        //add to linked-list
            STU *p=(STU*)malloc(sizeof(STU));
            p->num=number;
            p->score=grade;
            p->next=NULL;
            // find the last
            last=head;
            if(last){
                while(last->next){
                    last=last->next;}
            //attach
                last->next=p;
            
            }

            else head=p;
            scanf("%d %d",&number,&grade);
    };
    return(head);
}

int main()
{STU *pt=creat();
printf("\nnum:%ld\nscore:%5.1f\n",pt->num,pt->score); //输出链表第一个学生的学号和成绩
return 0;
}



结果是  输入
1001 78
1002 79
0 0结束输入
然后输出
num:1001
score:0.0
 
输出的成绩一直是0  这是怎么回事
求大神帮忙看看 谢谢
搜索更多相关主题的帖子: number C语言 
2017-02-22 13:19
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
scanf("%d %f",&number,&grade);~~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-02-22 13:31
a645294869
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-22
收藏
得分:0 
回复 2楼 九转星河
十分感谢!一直以为所有数字类型scanf 格式都是%d 楞是对这段代码改了两个小时
2017-02-22 16:38
快速回复:求帮忙看下这段基础的C语言链表代码 ,为什么输出学生成绩是0
数据加载中...
 
   



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

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