三子棋游戏,这一步遇到问题,当我输入某个坐标,棋盘上应该出现*

三子棋游戏,这一步遇到问题,当我输入某个坐标,棋盘上应该出现*,但是没有反应,求解决这个问题
问题相关代码,请勿粘贴截图

img

img

如果需要看其他代码也可以和我说。

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(.......) ......... } 里第一句。