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 :
et dans la fonction "chainer", 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); }
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; }
Partager