void PlayerMove(char board[ROW][COL], int row, int col)
{
printf("玩家走:");
int x = 0;
int y = 0;
while (1)
{
scanf("%d %d", &x, &y);
if (x >= 1 && x <= row && y >= 1 && y <= col)
{
if (board[x - 1][y - 1])
{
board[x - 1][y - 1]= '*';
break;
}
else
{
printf("该坐标被占用,请重新输入!\n");
}
}
else
{
printf("坐标错误,请重新输入!\n");
}
}
}
这要看你是不是给数组初始化的是' '啊
你这个会有死循环隐患啊,那个坐标输入错误 就会一直跳不出while循环哦,而且你的坐标是有两个数中间要用空格分隔的,你的截图只是输入了一个数,在等下一下数
把scanf("%d %d", &x, &y); 这句移动到 while(1){ scanf("%d %d", &x, &y); if(.......) ......... } 里第一句。