我正在尝试从文件中读取数字并将其放入2d数组中,但是每行的第一个数字被放在前一行的最后一个数字的位置。
输出应该看起来像这样:
11 14 12 07 1 8.7
11 14 11 58 143 8.6
11 14 13 03 163 8.9
11 13 18 06 1 7.3
但是反而像这样出来:
11 14 12 07 1 11
11 14 11 58 143 11
11 14 13 03 163 11
11 13 18 06 1 7.3
这是将值放入数组的循环:
double all_data[entry_counter-1][5];
int col_counter = 0;
int row_counter = 0;
for(int i=0; i<=entry_counter/6-1; i++) {
col_counter = 0;
for (int j = 0; j <= 5; j++) {
fscanf(input_file, "%lf\n", &v);
all_data[row_counter][col_counter] = v;
col_counter++;
}
row_counter++;
}
您的代码过于复杂和错误。
这应该完成工作:
double all_data[entry_counter-1][5];
for(int col_counter = 0; col_counter < entry_counter - 1; col_counter++) {
for (int row_counter = 0; row_counter < 5; row_counter++) {
fscanf(input_file, "%lf\n", &all_data[row_counter][col_counter]);
}
}
保持简单。