J'ai un problème pour récupérer un entier qui est paramètre d'une fonction récursive. Cette fonction me renvoie une liste chainée et la valeur de l'entier doit être modifiée à chaque appel de fonction et me sert dans des boucles de la fonction; c'est pour ça que j'utilise un pointeur sur cet entier. Mon problème est que le programme me renvoie dans ma liste chainée un entier qui n'a rien à voir (-81265478 ou quelque chose du genre au lieu de 0 ou 1). En fait, j'ai un truc du genre :

dans la fonction "main", j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
int n=N;       N=constante dans DEFINE
int val={0,1};         val=tableau de base
int max=2;             max=indice courant maximum de val
...
while(....){
      ch=chainer(n, &max,val);
}
et dans la fonction "chainer", j'ai:

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
chaine chainer(int n, int *max, val[]){
      chaine *deb=malloc(sizeof(chaine));
      ....
      if(...){
            chainer(n-1,max);
      }
      else{
            ....
            for(i=o,i<max;i++){
                deb->tab[i]=val[max];
                ...
            }
            max=max-1;
      }
      return *deb;
}