Ma nel caso che ti ho evidenziato, cosa restituisce la funzione ?

Originariamente inviato da Lotti
codice:
poker_score check_hand(poker_hand *hand)
{
    int i, j, seme[4], counter[13], coppia=0, tris=0, poker=0;
    for(j=0;j<4;j++) seme[j]=0;
        for(j=0;j<5;j++)
            switch (hand->card[j].seme)
            {
                case C: seme[0]++; break;
                case Q: seme[1]++; break;
                case F: seme[2]++; break;
                case P: seme[3]++; break;
            }

    if (seme[0]==5 || seme[1]==5 || seme[2]==5 || seme[3]==5)
    {
        if((hand->card[0].valore+1==hand->card[1].valore || hand->card[0].valore+12==hand->card[4].valore) &&
            hand->card[1].valore+1==hand->card[2].valore && hand->card[2].valore+1==hand->card[3].valore &&
            hand->card[3].valore+1==hand->card[4].valore)
        {
            if (hand->card[0].valore==v1 && hand->card[4].valore==vK) return scalar;
            else return scalac;
        }
        else
        return color;
    }
    else if((hand->card[0].valore+1==hand->card[1].valore || hand->card[0].valore+12==hand->card[4].valore) &&
            hand->card[1].valore+1==hand->card[2].valore && hand->card[2].valore+1==hand->card[3].valore &&
            hand->card[3].valore+1==hand->card[4].valore) return scalan;
    else
    {
        for(i=0;i<13;i++) counter[i]=0;
        for(i=0;i<5;i++) counter[hand->card[i].valore]++;
        for(i=0;i<13;i++)
        {
            if (counter[i]>=2 && counter[i]<=4)
            {
                for(j=0;j<4;j++) seme[j]=0;
                for(j=0;j<5;j++)
                    if (hand->card[j].valore==i)
                        switch (hand->card[j].seme)
                        {
                            case C: seme[0]++; break;
                            case Q: seme[1]++; break;
                            case F: seme[2]++; break;
                            case P: seme[3]++; break;
                        }
                if(seme[0]<=1 && seme[1]<=1 && seme[2]<=1 && seme[3]<=1)
                switch(counter[i])
                {
                    case 2: coppia++; break;
                    case 3: tris++; break;
                    case 4: poker++; break;
                }
            }
        }
        if (poker) return poker;
        else if (coppia && tris) return full;
        else if (tris) return tris;
        else if (coppia==2) return doppiacoppia;
        else if (coppia) return coppia;
        else return zero;
    }

    // In questo caso, cosa restituisce questa funzione?
}