Slt je viens de commencer les arbres binaires et j’ai déjà un problème au niveau de la « saisie » de l’arbre .J’ai écrit cette fct récursive pour la saisie mais ça coince lors de l’affichage. Si j’ai un arbre avec 1 comme racine , 2 comme feuille gauches et 3 comme feuille droite ça affiche 12 et puis n’importe quoi !

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
typedef struct noeud
{
	int val;
	struct noeud* fg;
	struct noeud* fd;
}noeud;
 
typedef noeud* arbre ;
 
void saisir_noeud(arbre *a)
{
	noeud *fils1,*fils2;
	int gauche,droite;
	fils1=(noeud*)malloc(sizeof(*fils1));
	fils2=(noeud*)malloc(sizeof(*fils2));
 
	(*a)->fg=fils1;
	(*a)->fd=fils2;
	printf("donner le fils gauche de %d:",(*a)->val);
	scanf("%d",&gauche);
	printf("donner le fils droit de %d:",(*a)->val);
	scanf("%d",&droite);
 
	if (gauche!=0)
	{
 
		(*a)->fg->val=gauche;
 
		saisir_noeud(&(*a)->fg);
 
	}
	if (droite!=0)
	{
 
		(*a)->fd->val=droite;
 
		saisir_noeud(&(*a)->fd);
	}
 
}
 
void affichage_post(arbre a)
{
 
	if (a!=NULL)
	{
		printf("%d",a->val); //le debug m’indique que ça coince ici
 
		affichage_post(a->fg);
		affichage_post(a->fd);
	}
}
Merci.