c语言编程迷宫问题
while(map[endX][endY]!='O'){charch;ch=getchar();getchar();switch(ch){case's':if(map[s...
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");
}
} 展开
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");
}
} 展开
1个回答
展开全部
当map[endX][endY] != 'O'的时候继续循环接收字符
也就是当map[endX][endY] = 'O'的时候跳出循环
因为小人的位置是='O'的位置,map[endX][endY] = 'O'时说明小人已经在出口了。
也就是当map[endX][endY] = 'O'的时候跳出循环
因为小人的位置是='O'的位置,map[endX][endY] = 'O'时说明小人已经在出口了。
更多追问追答
追问
额额额- - 我自己没注意 还有个问题
int row = (sizeof(map)/sizeof(char))/(sizeof(map[0])/sizeof(char));
这一句怎么计算的 行数啊 好繁琐啊
追答
sizeof(map)/sizeof(char)是所有的字符
sizeof(map[0])/sizeof(char)是一行的字符。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询