P1 부분에 초기화 되지 않은 메모리 사용중이라고 뜨네요.. 어떤 점이 잘못된건가요?

코드는 아직 다듬지 않았습니다.

#include<stdio.h>


int a, b = 0;

void fboard(char board[3][3])

{

int i = 0;

for (; i < 3; i++)

{

printf("+---+---+---+\n");

printf("| %c  | %c  | %c  | \n",board[i][0], board[i][1], board[i][2]);

}

printf("+---+---+---+\n");

}


void clear_board(char board[3][3])

{

int a, b = 0;

for (a = 0; a < 3; a++) {

for (b = 0; b < 3; b++)

board[a][b] = ' ';

}

}


int play1(char board[3][3]);


int play2(char board[3][3]);


int check(char board[3][3]);


int count = 0;


int main()

{

char board[3][3] = { 0 };

char p;

int P1, P2, off = 0;


printf("플레이어를 선택하세요. P1 (O) or P2 (X)\n");

scanf("%s", &p);

if (p == 'P1')

{

P1 = 1;

P2 = 2;

}

else if(p == 'P2')

{

P1 = 2;

P2 = 1;

}


printf("게임 시작\n");

clear_board(board);


if (P1 % 2 == 1) {

do {

fboard(board);

play1(board);

check(board);

fboard(board);

play2(board);

check(board);

} while (off == 1);

}

else {

do {

fboard(board);

play2(board);

check(board);

fboard(board);

play1(board);

check(board);

} while (off == 1);

}



return 0;

}


int play1(char board[3][3])

{

int a, b, c = 0;

count++;

do {

printf("P1순서 - 좌표입력 ex) 0 1");

scanf("%d%d", &a, &b);


if (board[a][b] == ' ') {

board[a][b] = 'O';

c = 1;

}

else {

printf("다시 입력해 주세요.");

c = 0;

}


} while (c == 0);

return 0;

}


int play2(char board[3][3])

{

int a, b, c = 0;

count++;

do {

printf("P2순서 - 좌표입력 ex) 0 1");

scanf("%d%d", &a, &b);


if (board[a][b] == ' ') {

board[a][b] = 'X';

c = 1;

}

else {

printf("다시 입력해 주세요.");

c = 0;

}


} while (c == 0);

return 0;

}


int check(char board[3][3])

{

int i = 0;

if (count < 9) {

for (; i < 3; i++) { //가로측정

if (board[i][0] == board[i][1] && board[i][1] == board[i][2]) {

printf("승리!");

}

else if (board[0][i] == board[1][i] && board[1][i] == board[2][i]) {

printf("승리!");

}

else if (board[0][0] == board[1][1] && board[1][1] == board[2][2]) {

printf("승리!");

}

else if (board[0][2] == board[1][1] && board[1][1] == board[2][0]) {

printf("승리!");

}

}

}

else if (count == 9) {

printf("무승부 입니다.");

}

return 0;

}