因此,我要求用户在tic tac toe棋盘完全填满X和O后输入X和O。我希望程序结束,并且在填充后不要继续要求向棋盘输入值。所以我创建了一个整型变量count,并将其设置为0。在两个玩家每次都被要求输入X或O之后,我希望它在每一轮都递增,一旦count等于10,我希望整个it退出do while循环并结束函数。但这似乎不起作用,一直要求用户输入X和O。任何建议都会很有帮助,谢谢。
void CreateBoard(int m, int n, char board[][n])
{
int i, j, position;
int count = 0;
do {
SCAN:
printf("Enter the number of the cell you want to insert X or O or enter -1 to exit: \n");
scanf("%d", &position);
if(position < 0){
break;
}
if(position > 9){
goto SCAN;
}
printf("Type X or O: \n");
switch(position)
{
case 1: scanf(" %c", &board[0][0]); break;
case 2: scanf(" %c", &board[0][1]); break;
case 3: scanf(" %c", &board[0][2]); break;
case 4: scanf(" %c", &board[1][0]); break;
case 5: scanf(" %c", &board[1][1]); break;
case 6: scanf(" %c", &board[1][2]); break;
case 7: scanf(" %c", &board[2][0]); break;
case 8: scanf(" %c", &board[2][1]); break;
case 9: scanf(" %c", &board[2][2]); break;
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("%c ", board[i][j]);
if (j != 2)
printf(" | ");
}
if (i != 2)
printf("\n------------");
printf("\n");
}
count++;
if(count == 10){
break;
}
}while(position != -1);
}
https://stackoverflow.com/questions/56979957
复制相似问题