I have to make a tic tac toe program and I am struggling. This is the function that I have currently. This function is suppose to determine if there is a winner or a Cats game. With this function, my program places a X or an O wherever the user has typed they want it. (This works) but it only runs once and that is where I am struggling. I need it to run until it finds a winner or if it a Cats game. Any help would be appreciated.


Code:
int checkForWin(int *piece, char *letter){
	int r,c;
	char board[3][3]={{'1','2','3'},
				  {'4','5','6'},
			      	  {'7','8','9'}};					  


		if (&*letter=='x' || &*letter=='X')
		{
			printf("\nYou are player X.\n\n");
		} 
		else printf("\nYou are player O.\n\n");


			if ((&*letter=='x' || &*letter=='X') && &*piece==1)
			{
				board[0][0]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==2)
			{
				board[0][1]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==3)
			{
				board[0][2]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==4)
			{
				board[1][0]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==5)
			{
				board[1][1]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==6)
			{
				board[1][2]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==7)
			{
				board[2][0]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='x' || &*letter=='X') && &*piece==8)
			{
				board[2][1]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			 
			if ((&*letter=='x' || &*letter=='X') && &*piece==9)
			{
				board[2][2]='X';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==1)
			{
				board[0][0]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==2)
			{
				board[0][1]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==3)
			{
				board[0][2]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==4)
			{
				board[1][0]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==5)
			{
				board[1][1]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==6)
			{
				board[1][2]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==7)
			{
				board[2][0]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			
			if ((&*letter=='o' || &*letter=='O') && &*piece==8)
			{
				board[2][1]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}
			 
			if ((&*letter=='o' || &*letter=='O') && &*piece==9)
			{
				board[2][2]='O';
					for (r=0;r<3;r++)
					{
		
						for (c=0;c<3;c++)
						{
						printf("%c ",board[r][c]);
									
						}					
					if (r==0 || r==1)
					{
					printf("\n");	
					}
					}
			}    
		
return 0;	
}