我正在编写一个井字游戏程序,并且正在编写一个轮到玩家的函数。我以指针的形式传入井字棋盘(一个 3x3 数组)b
。唯一的问题是在最后一行我得到了标题中的错误。
下标值既不是数组也不是指针也不是向量:b[PlayerCoordsX][PlayerCoordsY] = "x";
只是为了测试,我尝试了多个不同的=
值。字符和数值都不能解决问题。
这是(我希望)的缩写代码是相关位:
void PlayerTurn(int *b);
...
int main(void)
{
int Board[2][2];
int (*b)[2][2];
b = &Board;
...
void PlayerTurn(int *b);
...
return 0;
}
void PlayerTurn(int *b)
{
int PlayerCoordsX, PlayerCoordsY;
while ((PlayerCoordsX != 1 || PlayerCoordsX != 2 || PlayerCoordsX != 3) && (PlayerCoordsY != 1 || PlayerCoordsY != 2 || PlayerCoordsY != 3))
{
printf("Enter the X coordinate you would like to use:");
scanf("%i", &PlayerCoordsX);
PlayerCoordsX = PlayerCoordsX - 1;
printf("Enter the Y coordinate you would like to use:");
scanf("%i", &PlayerCoordsY);
PlayerCoordsX = PlayerCoordsY - 1;
}
b[PlayerCoordsX][PlayerCoordsY] = "x";
}