我想将矩阵文件中txt文件中存储的那个矩阵存储起来,我想打印该矩阵只是为了知道它正确存储了,但是当我打印程序时,只需打印一半即可。
基本上,在我运行问题后,它将打印以下内容:
X . . X
. O
我不知道为什么要打印一半,这是我的代码:
我的tabuleiro.txt是:
3 4
X . . X
. O . X
. . O .
其中两个数字是矩阵的大小。
*
int main() {
FILE *fp;
char matrix[100][100];
int lines=0,columns=0,i=0,j=0,l=0,c=0;
fp = fopen("tabuleiro.txt","r");
fscanf(fp,"%d %d",&lines,&columns);
for(i=1;i<=lines;i++){
for(j=1;j<=columns;j++){
fscanf(fp,"%c",&matrix[i][j]);
printf("%c", matrix[i][j]);
}
}
fclose(fp);
return 0;
}
*
答案 0 :(得分:0)
在上述程序中,tabuleiro.txt
中数组元素之间的空白未被读取。读取
fscanf(fp,"%d %d",&lines,&columns);
修改嵌套的for
循环,并在其之前添加一个附加声明,如下所示:
char whitespace;
for(i=1;i<=lines;i++){
for(j=1;j<=columns;j++){
fscanf(fp, "%c", &matrix[i][j]);
fscanf(fp, "%c", &whitespace);
printf("%c", matrix[i][j]);
printf("%c", whitespace);
}
}
打印所需的结果
X . . X
. O . X
. . O .