#include<stdio.h>
#include<stdlib.h>
int main()
{
int block[100];
int i = 0;
FILE *fp;
fp = fopen("blockage.dat","r");
if (fp != NULL){
while( !feof(fp) )
{
fscanf(fp,"%d",&block[i++]);
}
}
fclose(fp);
return 0;
}
我的blockage.dat文件如下所示:
3.712e+05
4.265e+05
5.345e+05
....
数字按行排列。所以我的C程序本身就停留在第一个循环中。 我该如何排序?我如何确保它进入下一行?
答案 0 :(得分:2)
您的计划中宣布i
的位置?
将i设为0。
int i = 0;
该文件包含浮动类型数据。 所以你的数组应该是
float block[100];
然后做
while((fscanf(fp,"%f",&block[i++])) != EOF);
根据您所阅读的值,您可以使用double
或long double
类型声明数组。
答案 1 :(得分:0)
问题与安排无关;你试图将浮点数读入整数变量。