编辑代码

#include <stdio.h>
char board[3][3];
void initialize_board()
{
	for(int row=0;row<3;row++)
	{
		for(int col =0;col<3;col++)
		{
			board[row][col]=' ';
		}
	}
}
void print_board()
{
	printf("%c |%c |%c \n",board[0][0],board[0][1],board[0][2]);
	printf("---+---+---\n");
	printf("%c |%c |%c \n",board[1][0],board[1][1],board[0][2]);
	printf("---+---+---\n");
	printf("%c |%c |%c \n",board[2][0],board[2][1],board[2][2]);
}
int check_win(char player)
{
	for(int i =0;i<3;i++)
	{
		if(board[i][0] == player &&
		   board[i][1] == player &&
		   board[i][2] == player)
		{
			return 1;
		}
		if(board[0][i] == player &&
		   board[1][i] == player &&
		   board[2][i] == player)
		{
			return 1;
		}
	}
	if(board[0][0] == player &&
	   board[1][1] == player &&
	   board[2][2] == player)
	{
		return 1;
	}
	if(board[0][2] == player &&
	   board[1][1] == player &&
	   board[2][2] == player)
	{
		return 1;
	}
	return 0;
	}

int main()
{
   int row,col;
	char player='X';
	initialize_board();
	while(1)
	{
		printf("Player %c's turn. \n",player);
		printf("Enter row(0-2):");
		scanf("%d",&row);
		printf("Enter column (0-2):");
		scanf("%d",&col);
		if(row <0 || row>2 || col<0 ||col>2)
		{
			printf("Invalid input.Try again. \n");
			continue;
		}
		if(board[row][col] !=' ')
		{
			printf("That space is already occupied. Try again. \n");
			continue;
		}
		board[row][col]=player;
		print_board();
		if(check_win(player))
		{
			printf("Player %c wins!\n",player);
			break;
		}
		if(player=='X')
		{
			player='0';
		}
		else
		{
			player = 'X';
		}
	}
	return 0;
}