c语言井字棋结果判定出错

做的井字棋结果判定,输出总是出错而且输出的是000,111 , 222这样的三个字符而非设计的0 ,1, 2
#include

int main()
{
const int size = 3;
int board[size][size];
int i,j;
int result = -1;//-1是平局,0是O赢了,1是X赢了
for ( i=0; i
for ( j=0; j
scanf("%d", &board[i][j]);
}
}

for ( i=0; ix0=0, x1=0, x2=0, x3=0, o0=0, o1=0, o2=0, o3=0;
    for ( j=0; jif ( board[i][j] == 1 ) {
            x0 ++;
        } else {
            o0 ++;
        }
        if ( board[j][i] == 1 ) {//竖线方向 
            x1 ++;
        } else {
            o1 ++;
        }
        if ( board[i][i] == 1 ) {//斜方向1 
            x2 ++;
        } else {
            o2 ++;
        }
        if ( board[i][size-1-i] == 1) {//斜方向2 
            x3 ++; 
        } else {
            o3 ++;
        }
    }
    if ( x0==size || x1==size || x2==size || x3==size ) {//X赢的判定 
        result = 1;
    }
    if ( o0==size || o1==size || o2==size || o3==size ) {//O赢的判定 
        result = 0;
    } 
    printf("%d", result);//输出出结果 
} 
  
return 0;

}


#include<stdio.h>
int main()
{
    const int size = 3;
    int board[size][size];
    int i,j;
    int x,o;
    int result = -1;
    for(i=0;i<size;i++){ 
       for(j=0;j<size;j++)
     { 
     scanf("%d",&board[i][j]); 
}
}
    for(i=0;i<size&&result == -1;i++)
    {
        x=o=0;
        for(j=0;j<size;j++)
        {
            if(board[i][j]==1)
            x++;
            else
            o++;
        }
        if(o== size){
        result = 0;
        }
        else if(x== size){
        result = 1; 
        }
    }/*检查行*/
    if(result==-1)
    {
        for(j=0;j<size;j++)
        {
            x=o=0;
            for(i=0;i<size;i++)
            {
                if(board[j][i]==1)
                {
                    x++;
                }
                else
                {
                    o++;
                }
                if(o==size){
                    result =0;
                }
                else if (x==size)
                {
                    result =1;
                }
            }
        }
     }/*检查列*/ 
     x=o = 0;
    if(result == -1)
    {
        x=o = 0;
        for(i=0;i<size;i++)
        {
            if(board[i][i] == 1)
            {
                x++;
            }
            else if (board[i][i] == 0)
            {
                o++;
            }
            if(o==size)
            {
                result = 0;
            }
            else if (x==size)
            {
                result = 1;
            }
        }
    } /*检查正对角线*/
        if(result == -1)
    { 
        x=o = 0;
         for(i=0;i<size;i++)
         {
             if(board[i][size-i-1]==1)
            {
            x++;     
            } 
            else
            {
            o++;
            } 
         }
         if(x==size)
        {
             result = 1;
        }
        else if(o==size)
        {
            result = 0;
        }
         
          
    }     
    switch(result)
    
    {
    
    case 0:
        printf("0 win");
        break;
    case 1:
        printf("x win");
        break;
    case -1:
        printf("No win");
    }
    return 0; 
}