想了很久不知道问题出在哪。
#define YOKO_MAX 20
#define TATE_MAX 20
int* creatMap(void);
int main( void )
{
int* field[TATE_MAX][YOKO_MAX] = creatMap();
for (int i = 0; i < TATE_MAX; i++)
{
for (int j = 0; j < YOKO_MAX; j++)
{
printf("%d\t", *(*(field + i) + j));
}
}
}
int* creatMap(void)
{
int a[TATE_MAX][YOKO_MAX];
int(*p)[TATE_MAX][YOKO_MAX] = &a;
int i, j;
for (int i = 0; i < TATE_MAX; i++)
{
for (int j = 0; j < YOKO_MAX; j++)
{
if (i == 0 || i == TATE_MAX - 1)
{
a[i][j] = 1;
}
else if (j == 0 || j == YOKO_MAX - 1)
{
a[i][j] = 1;
}
else
{
a[i][j] = 0;
}
}
}
return p[TATE_MAX][YOKO_MAX];
}