#include
#define MAP_HEIGHT 20
#define MAP_WIDTH 50
char Map[MAP_HEIGHT][MAP_WIDTH];
int main(void)
{
int i, j;
for (i = 0; i < MAP_HEIGHT; i++)
for (j = 0; j < MAP_WIDTH; j++)
{
if (i == 0 || i == MAP_HEIGHT-2 || j == 0 || j == MAP_WIDTH-2)
Map[i][j] = '.';
else
Map[i][j] = ' ';
}
for (i = 0; i < MAP_HEIGHT; i++)
puts(Map[i]);
return 0;
}
怎么输出一堆乱码?
谁能解释下
每行结束的时候加上个'\0'
在你那一堆if语句前,加上下面这段
if(j == MAP_WIDTH - 1)
Map[i][j]='\0';
else if (i ==0 }|| i =xxxx
数组使用前一定初始化:memset(Map,0,MAP_HEIGHT*MAP_WIDTH)