[原创]你知道为什么吗??
//程序如下:
#include "stdio.h"
struct employe{
char num[6];
char name[8];
char sex[3];
int age;
char add[20];
float salary;
char state[8];
char class[4];
}em[10];
void main()
{
FILE *fp;
int i=0;
if((fp=fopen("out.dat","w"))==NULL)
{printf("Error,can not open file 'out.dat'!");exit(1);}
printf("\n Num Name Sex Age Addr Salary State Class \n");
for(i=0;i<4;i++)
{scanf("%s %s %s %d %s %f %s %s",em[i].num,em[i].name,em[i].sex,
&em[i].age,em[i].add,&em[i].salary,em[i].state,em[i].class);
fwrite(&em[i],sizeof(struct employe),1,fp);
}
fclose(fp);
}
input data:
Num Name Sex Age Addr Salary State Class
001 Liming m 25 Dong 125.50 good univ
002 Wangjun f 40 Nan 89.00 well coll
003 Zhangli m 35 Xi 131.00 comm poly
004 Zhaowei m 50 Bei 155.50 good univ
以上编译连接通过,输入数据是出现如下问题
在vc++6。0中出现错误:“floating points are unloaded。”
把上面改成scanf("…… %f……",……,&(em[i].salary),……);则调试通过。
在tc2.0中出现错误:“floating point is unlinked!"
照上面改法仍无法通过。
奇怪!数据输入到浮点数就无法输入。请各位大虾不吝赐教。