#include <stdio.h>
#include <stdlib.h>
void save(int n);
void save(int n)
{
int i;
FILE *fp;
float num;
if((fp=fopen("123.txt","w"))==NULL)
{
printf("can not open the file!\n");
exit(1);
}
printf("please enter n numbers:\n");
for(i=0;i<n;i++)
{
printf("please enter th%d num:\t",i+1);
scanf("%f",&num);
fprintf(fp,"%f\n", num);
}
fclose(fp);
}
int main()
{
int n;
printf("please enter the n:\t");
scanf("%d",&n);
save(n);
}
运行后生成123.txt文件,里面的数据如下:(比如)
1.220000
2.110000
3.330000
4.440000
5.550000
6.660000
7.770000
8.880000
9.989998
9.977699
现在我再重新运行另外一个程序,就是一个读取这个文件里数据的程序,并且要求把这些数据存入到一个一维数组中,程序如下(有问题)运行后并不能把数据存到数组里,为了验证是否存入数组,我把下面的程序写为 存入后,把这些数相加。可是结果=0.000000
#include<stdlib.h>
#include<stdio.h>
void load()
{
float num;
float sum;
float date[10];
int i=0;
FILE *fp;
sum=0;
if((fp=fopen("123.txt","r"))==NULL)
{
printf("can not enter this file!\n");
exit(1);
}
while(fscanf(fp,"%f",&num)!=EOF)
{
date[i]=num;
i=i+1;
}
fclose(fp);
}
main()
{
int i;
float p=0;
float date[10];
load();
for(i=0;i<10;i++)
{p=p+date[i];}
printf("%f\n",&p);
}
希望各位能指出错误之处,紧急问题啊,急待解决!