c语言编写input()和output()函数输入,输出5个学生的数据记录?

#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以后就退出来了,各位再帮看看,拜托拜托,这厢有礼了^_^ 
还是解决不好,是不是我太笨了呀? ~-_-~ 

胡子哥哥
浏览 2229回答 3
3回答

九州编程

这是tc2.0 scanf函数的一个bug。tc2.0设计的时候,为了提高效率和节省空间,如果程序没有使用浮点计算,那么浮点运算模块是不会被加载的,但是scanf函数在检测用户浮点意图方面有些缺陷,没有能很好地检测用户的意图,因此会出现这种“错误”。解决的办法,就是在程序中显示地出现浮点运算,但不能仅仅赋值,例如 这样a= 1.0-1.0;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go