
想用字符二维数组打印一个#正方形#,运行后为什么会是这样的,如何解决。
map 的默认应该为 ' ',你这个直接就null了
map中,不是 # 的,就给一个空格

#include <stdio.h>
void Map() {
int i, j;
char map[9][9];
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++)
{
map[i][j] = ' ';
}
}
for (i = 0; i < 9; i++)
{
map[0][i] = map[8][i] = '#';
map[i][0] = map[i][8] = '#';
}
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++)
printf(" %c", map[i][j]);
printf("\n");
}
}
int main()
{
Map();
return 0;
}
