while (map[endX][endY] != 'O') {
char ch;
ch = getchar();
getchar();
switch (ch) {
case 's':
if (map[startX + 1][startY] != '#') {
map[startX][startY] = ' ';
startX++;
map[startX][startY] = 'O';
}
break;
case 'w':
if (map[startX - 1][startY] != '#') {
map[startX][startY] = ' ';
startX--;
map[startX][startY] = 'O';
}
break;
case 'a':
if (map[startX][startY - 1] != '#') {
map[startX][startY] = ' ';
startY--;
map[startX][startY] = 'O';
}
break;
case 'd':
if (map[startX][startY + 1] != '#') {
map[startX][startY] = ' ';
startY++;
map[startX][startY] = 'O';
}
break;
default:
break;
}
printMap(map, row, col);
}
return 0;
}
while (map[endX][endY] != 'O')这一句是什么意思啊 为什么当不等于o时就程序结束
void printMap(char map[][6], int row, int col)
{
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%c", map[i][j]);
}
printf("\n");
}
}
额额额- - 我自己没注意 还有个问题
int row = (sizeof(map)/sizeof(char))/(sizeof(map[0])/sizeof(char));
这一句怎么计算的 行数啊 好繁琐啊
sizeof(map)/sizeof(char)是所有的字符
sizeof(map[0])/sizeof(char)是一行的字符。。。
- - 能帮填下数字吗 就和那个编程里数字对照的 谢谢啦
追答填数字?一共有36/1字符 一行有6/1个字符啊
追问int row = (sizeof(map)/sizeof(char))/(sizeof(map[0])/sizeof(char));
int row = (sizeof(6)/sizeof(1))/(sizeof( )/sizeof(1)) map[0]就是1吗
6啊
追问map[0] 为什么等于6啊
追答map[0]={'#','#','#','#','#','#'}