C++ 求助!为什么返回值是80?


//这是一个象棋审局函数的一部分,C1是红方左侧的车,它右边只有一个能攻击到的点,也就是M1所处的位置,所以理论上讲SC1的返回值应该是1,但实际返回的是80!不知道是怎么一回事!
//调试时,按道理Cright处满足了if语句的条件后,就会执行break,也就是跳出循环,但实际上在此循环了很多次,大家救我!
#include<stdio.h> 
char C1,C2,M1,M2,P1,P2,X1,X2,S1,S2,J,B1,B2,B3,B4,B5;
char c1,c2,m1,m2,p1,p2,x1,x2,s1,s2,j,b1,b2,b3,b4,b5;
float SC1;

char SBoard[9][10] = 
{
  C1,  0,  0,  B1,  0,  0,  b1,  0,  0,  c1,
  M1,  0,  P1,  0,  0,  0,  0,  p1,  0,  m1,
  X1,  0,  0,  B2,  0,  0,  b2,  0,  0,  x1,
  S1,  0,  0,  0,  0,  0,  0,  0,  0,  s1,
  J,  0,  0,  B3,  0,  0,  b3,  0,  0,  j,
  S2,  0,  0,  0,  0,  0,  0,  0,  0,  s2,
  X2,  0,  0,  B4,  0,  0,  b4,  0,  0,  x2,
  M2,  0,  P1,  0,  0,  0,  0,  p1,  0,  m2,
  C2,  0,  0,  B5,  0,  0,  b5,  0,  0,  c2 
} ;      

int Jud(int x,int y,int k)
{
    int style;
    if(SBoard[x][y]==C1||SBoard[x][y]==M1||SBoard[x][y]==P1||SBoard[x][y]==X1||SBoard[x][y]==S1||SBoard[x][y]==J||SBoard[x][y]==C2||SBoard[x][y]==M2||SBoard[x][y]==P2||SBoard[x][y]==X2||SBoard[x][y]==S2||SBoard[x][y]==B1||SBoard[x][y]==B2||SBoard[x][y]==B3||SBoard[x][y]==B4||SBoard[x][y]==B5) 
    {
        style=1;
    }
    else 
    {
        if(SBoard[x][y]==0)
        {
            style=0; 
        }
        else
        {
            style=-1;
        }   
    }

    if(k==0)
    {
        return style;
    }
    if(k==1)
    {
        return -style;
    }
    if(k==2)
    {
        if(style>0)
        {
            return style;
        }
        else
        {
            return -style;
        }
    }
}

float evaluate(int Jud1)
{
    //0,1
    //红,黑 
    int i,a,flag,flag3,temp1,temp2;
    float SC1=0;
    ;
    //统计实点和机动点 
    for (i=1;i<=9;i++)
    {
        for (a=1;a<=10;a++)
        {
            if (SBoard[i][a]==C1)
            {
                //Cright
                for (temp1=i+1;temp1<=9;temp1++)
                {
                    flag3=Jud(temp1,a,2);
                    if (flag3==1)
                    { 
                        SC1++;
                        break;
                    } 
                    else
                    {
                        SC1++; 
                    }
                }

                }


        }
    }

if(Jud1==0)
{ 
    return SC1;
} 
}


 int main()
 {
    float t;
    t=evaluate(0);
    printf("%f\n",t);
    return 0;
 }

if (flag3==1)
{
SC1++;
break;
}
else
{
SC1++;
}//检查一下这里,条件对不对SC1都自增了