鱼C论坛

 找回密码
 立即注册
查看: 3673|回复: 3

为什么编译,连接通过,而执行就不行?

[复制链接]
发表于 2011-12-7 21:34:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define STR struct student
  4. #define NULL 0

  5. struct student
  6. {
  7. int id;
  8. float score;
  9. STR *next;
  10. };
  11. int n;
  12. STR *create()
  13. {
  14. STR *Head = NULL, *p1 ,*p2;
  15. n = 0;
  16. p1 = p2 = (STR *)malloc(sizeof(STR));
  17. scanf("%ld", &p1->id);
  18. scanf("%f", &p1->score);
  19. p1->next = NULL; //创建一个空链表
  20. while(p1->id != 0)
  21. {
  22. ++n;
  23. if(n == 1)
  24. Head = p1;
  25. else
  26. p2->next = p1;
  27. p2 = p1;
  28. p1 = (STR *)malloc(sizeof(STR));
  29. scanf("%ld %f", &p1->id, &p1->score);
  30. p1->next = NULL;
  31. }
  32. free(p1);
  33. return Head;
  34. }

  35. int main(void)
  36. {
  37. create();

  38. return;
  39. }
复制代码
本人用的是VC++编辑器!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-7 23:01:46 | 显示全部楼层
我用的也是vc++6.0啊,可是我可以编译啊...你试试不要那样输入,用个变量替换下,先定义个变量给变量赋值,之后再给结构体试一下吧...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-8 12:59:04 | 显示全部楼层
看了楼主的代码!
不能执行的原因是:
执行后出现一个错误,这个错误类型是R6002:floating point not loaded!浮点数没有被加载。问题出在第19刚语句scanf("%f", &p1->score);解决方法是在函数中加入一些浮点数运算的语句,比如定义一个浮点数并赋值,或者pirntf一个浮点数都行!使得程序中有浮点数运算就可以!比如这段代码中,你在输入Id和score后,用printf函数把它们输出来,整个程序就可以运行了。这段代码只有输入没有输出,看起来怪怪的,即使运行不出错,也不能立马判断是正确的,最好在要scanf输入前用printf语句提示“请输入什么什么的",完了把结果输出来看看到底对还是错嘛!这样会好点!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-6-5 18:35:55 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 22:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表