我在本地机器上有一个名为“data.in”的文件,其中包含以下内容:
1
5
6
6
8
10
33
24
20
3
和源代码:
#include <stdio.h>
int main (void)
{
int n,i,a,V[i],ch,aux;
FILE *f1, *f2;
f1 = fopen("data.in", "r");
f2 = fopen("data.out", "w"); //create data.out
char line[1024];
n = 0;
while( fgets(line,sizeof(line),f1) != NULL)
n++; // n = number of lines from the file
for (i=0; i<n; i++)
fscanf(f1,"%d", &V[i]); //reading the array from data.in
do {
ch=0;
for (i=0; i<n-1; i++)
if (V[i]>V[i+1])
{
aux=V[i]; V[i]=V[i+1]; V[i+1]=aux; ch=1;
}
} while (ch); //Bubble sort
for (i=0; i<n; i++)
fprintf(f2, "%d\n", V[i]); // print the array into data.out
fclose(f1);
fclose(f2);
}
编译运行良好,但每当我执行它时,data.out 只包含:
0
0
0
0
0
0
0
0
0
0
我什至尝试只打印数组,但它仍然是一堆零。我什至尝试修改 data.in 以使所有数字都在同一行,但输出仍然只是一堆零。我肯定错过了什么...
我有点卡在这里所以任何帮助将不胜感激。