c语言中读取txt中的数据给数组

写了如下程序
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%f",&A[i]);
fclose(fp);
}
}
想把文件input中的数据依次赋给A[i],但是运行发现不行,A[i]的值始终还是等于0
intput中数据如下
0.48
0.95
2.46
0.95
2.5
0.05
0
3个都试了,不行啊!
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",A[i]);
printf("%f",A[0]);
fclose(fp);
}
}
在后面加了如下语句printf("%lf",A[2]);用于检测 结果
输出结果还是0.000000
三楼的仁兄,我改过来了运行也是0啊
再次运行结果是0.0000000.0000000.0000000.000000-3.92...................我用的是Turbo C For Windows3.0

楼下大虾 如果是if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)不能打开文件
但是if((fp=fopen("C:\\\input.txt","r"))== NULL)就可以了 当然我在桌面和磁盘C:\\Documents and Settings\\Administrator\\桌面\\input.txt和C:\\\input.txt都建了input.txt
能顺便帮忙解决下吗
谁有能用的程序也请不要藏着哦!在线等!谢谢各位大虾啊

fscanf(fp,"%f",&A[i]);
改为:
fscanf(fp,"%lf",&A[i]);

printf("%f",A[0]);
改为
printf("%lf",A[0]);
****************************************
一个测试通过的程序:

//---------------------------------------------------------------------------

# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)/*特别注意这里,一定要用双斜杠*/
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",&A[i]);/*注意这里*/
printf("%lf",A[0]);/*注意这里*/
fclose(fp);
}
}
//---------------------------------------------------------------------------

***********************************************

TC不支持中文目录,建议用其它编译器,如果不更换编译器,请将input.txt文件保存到一个无空格的英文目录下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-05
你用的是double所以读入时要lf
fscanf(fp,"%lf",&A[i]);
你输出也要改的呀
printf("%lf",A[0]);
第2个回答  2008-05-05
fscanf(fp,"%f",&A[i]);
?????
&A[i]改成A[i]试试.
相似回答