| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 824 人关注过本帖
标题:关于创建链表的问题
只看楼主 加入收藏
shiaron
Rank: 1
来 自:天上天下,唯我独尊
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-5-1
收藏
 问题点数:0 回复次数:9 
关于创建链表的问题
#include "stdlib.h"
#include "stdio.h"
struct student{
   int code;
   char name[20];
   float score;
   struct student *next;
};
main(){
   struct student *pb,*pf,*head;
   int i;
   pb=(struct student*)malloc(sizeof(struct student));
   head=pb;
   for(i=0;;i++){
   printf("input code:\n");
   scanf("%d",&pb->code);
   printf("input name:\n");
   scanf("%s",pb->name);
   printf("input score:\n");
   scanf("%f",&pb->score);
   if(i!=3){pf=(struct student*)malloc(sizeof(struct student));pb->next=pf;pb=pf;}
     else {pb->next=NULL;break;}
   }
   pb=head;
   while(pb!=NULL){
   printf("%d\t%s\t%f\t",pb->code,pb->name,pb->score);
   pb=pb->next;
   }
   getch();
}
还是请各位高手看看把,为什么总出错。。。
搜索更多相关主题的帖子: 链表 student struct score 
2008-05-03 11:42
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include "stdlib.h"
#include "stdio.h"
struct student
{
   int code;
   char name[20];
   float score;
   struct student *next;
};
int main(void)
{
   struct student *pb,*pf,*head;
   int i;
   pb=(struct student*)malloc(sizeof(struct student));
   head=pb;
   for(i=0;;i++)
   {
      printf("input code:\n");
      scanf("%d",&pb->code);
      printf("input name:\n");
      scanf("%s",pb->name);
      printf("input score:\n");
      scanf("%f",&pb->score);
   if(i!=3)
   {
        pf=(struct student*)malloc(sizeof(struct student));
        pb->next=pf;
        pb=pf;
   }
     else {
         pb->next=NULL;
         break;
        }
   }
   pb=head;
   while(pb!=NULL)
   {
        printf("%d\t%s\t%f\t",pb->code,pb->name,pb->score);
        pb=pb->next;
   }
   getchar();
   return 0;
}
好像没什么错误..

学习需要安静。。海盗要重新来过。。
2008-05-03 12:06
shiaron
Rank: 1
来 自:天上天下,唯我独尊
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-5-1
收藏
得分:0 
回复 2# 的帖子
为什么我在wintc里每次刚输完第一个名字,按下回车就出错了啊
2008-05-03 12:35
shiaron
Rank: 1
来 自:天上天下,唯我独尊
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-5-1
收藏
得分:0 
回复 2# 的帖子
发现如果把 SCORE 改成int 型就可以用啦,但是用FLOAT就不行
2008-05-03 13:02
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
在我这里是正常的
图片附件: 游客没有浏览图片的权限,请 登录注册


[[it] 本帖最后由 随心 于 2008-5-3 13:06 编辑 [/it]]

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-05-03 13:03
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
应该是TC的问题,你换个编译器试试
TC下不能直接读结构体中的浮点成员,必须经由一个中间变量转存
下个DEV-CPP试试

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-05-03 13:10
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
对LZ的代码我说三点:
1、一行代码只写一句话,只做一件事
2、适当的空行,这就比如你这写文章分段一样
3、请用c99标准中的int main(), main函数的默认返回值是0。
   void main是国产教材的典型误区

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-05-03 13:15
shiaron
Rank: 1
来 自:天上天下,唯我独尊
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-5-1
收藏
得分:0 
回复 6# 的帖子
恩~谢谢提醒~不过如果要用TC读取结构体的浮点成员的话,应该怎么弄呢?
2008-05-03 13:21
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
刚睡了会...换编译器吧..

学习需要安静。。海盗要重新来过。。
2008-05-03 13:39
wuhaijunjiao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-4-29
收藏
得分:0 
学到了 我看不出错误 呵呵
2008-05-03 22:11
快速回复:关于创建链表的问题
数据加载中...
 
   



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

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