【发布时间】:2015-09-03 01:30:05
【问题描述】:
我试图将 .txt 文件中的 20x20 迷宫读入二维数组。 因为 fgets 也读取 NUL 和 \n,所以我为每行留出了 22 个字符的空间(20 个用于迷宫)。
但是,它并没有按我的预期工作。
当我测试这段代码只打印一个数组(例如 maze[0])时,似乎整个文件被复制到一个数组中。
我做错了什么?
#include <stdio.h>
#define BUFLEN 22
int main()
{
FILE *fp = fopen ("maze.txt", "r");
char maze[22][20];
int i = 0;
int j = 0;
for (i=0; i<20; i++){
fgets(maze[i], BUFLEN, fp);
}
for (j=0; j<20; j++){
printf("%s", maze[j]);
}
fclose(fp);
return 0;
}
【问题讨论】:
-
char maze[22][20];-->char maze[20][22];
标签: c arrays multidimensional-array