re-bonjour à tous ,
mes problèmes de compréhension de mon code continuent ....
Pour ceux qui auraient suivi mon post précédent je n'ajoute que la fonction traiterCarre() que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
void traiterCarre(int index) {
    int nBrelan=0,nCarte,handValue,i,j;
    struct Carte *family;
 
    while(brelanCarre[index][nBrelan]) {
        fprintf(stdout,"index = %d\tnBrelan = %d\n",index,nBrelan);
        nCarte = 0;
        while((i = (brelanCarre[index][nBrelan] + nCarte)->rang)) {
            // Remplissage du tableau groups;
            family = getColor((brelanCarre[index][nBrelan] + nCarte)->color);
            (family + i)->used = index;// marquage de la carte dans groups et donne
            donne[(family + i)->place].used = index;// selon le niveau
            totaux[i]--;family->rang--;
            copyKill(family + i,groups);
            nCarte++;
        }
        if(brelanCarre[index+1]) {// d'autre carrés à traiter
            traiterCarre(index+1);
        }
        else {// l'évaluation de la main peut commencer
            setSuite(coeur);
            setSuite(trefle);
            setSuite(carreau);
            setSuite(pique);
            setNulle(coeur,carreau,trefle,pique);
            handValue = evalLowCost();
            if(handValue < defaultBest) {// on trouve une meilleure main
                for(j=nulles[0].rang;j>0;j--) copyKill(nulles + j,bestHand);
                defaultBest = handValue;
            }
        }
        afficheMain();
        // nouvelle main avec prise en compte des cartes marquées
        setMain_1(index);
        nBrelan += 1;// brelan suivant
    }
}
à l'exécution on se trouve avec un boucle sans fin;
or, grâce au fprintf (avec \n en fin , merci Sve@r) , les valeurs de "index" et de "nBrelan" restent à zéro ?!
Je trouve cela plutôt anormal car soit :
1) appel récursif de traiterCarre => index+1
2) pas d'appel récursif => nBrelan+1
Quel est le problème ?