我在将文件中的某些输入读取到多维数组时遇到了一些麻烦。我有两个嵌套的 for 循环,它们打印出不同的输出,但我希望它们打印出相同的输出。我已经坚持了几个小时,可能只是处于精神障碍中。输入文件是一组 9x9 的数字。我的问题发生在 [0][8]、[1,8] 等处。因为它只是从 [1,0]、[2,0] 等处复制值……这是第一个嵌套循环及其输出:
for(j=0;j<9;j++){
if(j!=0){
printf("%c",fgetc(file));
}
for(k=0;k<9;k++){
array[j][k]=fgetc(file);
printf("array[%i][%i] :%c \n",j,k,array[j][k]);
}
printf("\n");
}
一些输出:
array[0][0] :8
array[0][1] :5
array[0][2] :2
array[0][3] :7
array[0][4] :1
array[0][5] :3
array[0][6] :9
array[0][7] :4
array[0][8] :6
array[1][0] :4
array[1][1] :3
array[1][2] :1
array[1][3] :9
array[1][4] :2
array[1][5] :6
array[1][6] :5
array[1][7] :7
array[1][8] :8
array[2][0] :9
array[2][1] :7
array[2][2] :6
array[2][3] :5
array[2][4] :4
array[2][5] :8
array[2][6] :2
array[2][7] :3
array[2][8] :1
这是我的第二个嵌套循环,它位于前一组代码的正下方。我想做的只是读取我刚刚写入的多维数组的内容。
for(j=0;j<9;j++){
for(k=0;k<9;k++){
printf("array[%i][%i] :%c \n",j,k,array[j][k]);
}
printf("\n");
}
这是这个循环的输出:
array[0][0] :8
array[0][1] :5
array[0][2] :2
array[0][3] :7
array[0][4] :1
array[0][5] :3
array[0][6] :9
array[0][7] :4
array[0][8] :4
array[1][0] :4
array[1][1] :3
array[1][2] :1
array[1][3] :9
array[1][4] :2
array[1][5] :6
array[1][6] :5
array[1][7] :7
array[1][8] :9
array[2][0] :9
array[2][1] :7
array[2][2] :6
array[2][3] :5
array[2][4] :4
array[2][5] :8
array[2][6] :2
array[2][7] :3
array[2][8] :7