为什么C语言从文本文件中读取的数全是零

我的程序是从两个文本文件中读取数,分别放在数组A和B中,b中的数比较大所以读的没有问题,a中全是远远小于1的数,读出来全是零 看了网上说接近于0得数就会打印成零 我也不会改

那个大神给我改改,下面是我的程序
#include<stdio.h>
#define H 0.1
void main()
{
float d1=0,d2=0;
float a[401],b[401];
int i=0;
FILE *z,*g;
g=fopen("g.txt","rb");
z=fopen("d.txt","rb");
for(i=0;i<401;i++)
{
fscanf(z,"%f",&d2);
b[i]=d2;
fscanf(g,"%f",&d1);
a[i]=d1;
printf("%f %f\n",d2,d1);
}
}

不是读的问题,是你的数据没那么多,你打印了401次,后面读到时数据都没有,答应出来的就是最后读到的数据。你可以看开头读到的数据,那就是txt文件里的内容。

追问

我的数据有那么多,也显示不出来,前两天还好好的  今天一运行就坏了,第一列对着 第二列就全是零,

追答

    你可以自己检查一下,fscanf(g,"%f",&d1);如果函数读到数据会返回1;读不到数据返回-1.我怎么感觉你两个数据读得都不对呢?

    你的Txt文档里的数据是怎样分开的?(一般要空格分开,或者‘,’ ‘;’ 分开)

    看读没读对看开头那里,因为可能你两个文件数据量可能不一样

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-06
看来你需要有个人来教追问

是啊,,你会改吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网