#include<stdio.h>struct men{int num;char *name;char sex;float score;}boy[5];void input(){int i;for(i=0;i<5;i++){printf("Input the number:\n");scanf("%d",&boy[i].num);printf("Input the name:\n");scanf("%s",boy[i].name);printf("Input the sex:\n");scanf("%c",&boy[i].sex);printf("Input the score:\n");scanf("%f",&boy[i].score);}}void getout(){int i;for(i=0;i<5;i++){printf("NUM\t\t\tNAME\t\t\tSEX\t\t\tSCORE\n\n");printf("%d\t\t\t",boy[i].num);printf("%s\t\t\t",boy[i].name);printf("%c\t\t\t",boy[i].sex);printf("%.2f\n",boy[i].score);}}main(){void input();void getout();input();getout();}小妹菜鸟,用的是tc2.0编译,结果总是报错,显示scanf:floating point formats not linked Abnormal program termination.不知哪出的问题,请高手指点一二,真的不好意思,我只有20分,全加上了,谢谢了,不行啊,四位大虾的方法额都试了,还是一到输入boy[i].sex以后就退出来了,各位再帮看看,拜托拜托,这厢有礼了^_^ 还是解决不好,是不是我太笨了呀? ~-_-~
3 回答
九州编程
TA贡献1785条经验 获得超4个赞
这是tc2.0 scanf函数的一个bug。tc2.0设计的时候,为了提高效率和节省空间,如果程序没有使用浮点计算,那么浮点运算模块是不会被加载的,但是scanf函数在检测用户浮点意图方面有些缺陷,没有能很好地检测用户的意图,因此会出现这种“错误”。
解决的办法,就是在程序中显示地出现浮点运算,但不能仅仅赋值,例如 这样
a= 1.0-1.0;
- 3 回答
- 0 关注
- 2228 浏览
添加回答
举报
0/150
提交
取消