鱼C论坛

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

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

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

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

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

x
#include <stdio.h>
#include <stdlib.h>
#define STR struct student
#define NULL 0

struct student
{
int id;
float score;
STR *next;
};
int n;
STR *create()
{
STR *Head = NULL, *p1 ,*p2;
n = 0;
p1 = p2 = (STR *)malloc(sizeof(STR));
scanf("%ld", &p1->id);
scanf("%f", &p1->score);
p1->next = NULL; //创建一个空链表
while(p1->id != 0)
{
++n;
if(n == 1)
Head = p1;
else
p2->next = p1;
p2 = p1;
p1 = (STR *)malloc(sizeof(STR));
scanf("%ld %f", &p1->id, &p1->score);
p1->next = NULL;
}
free(p1);
return Head;
}

int main(void)
{
create();

return;
}
本人用的是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-11-22 14:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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