Bonjour,

J'ai une erreur que je n'arrive vraiment pas à résoudre ....

Voici la fonction que j'appelle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
arbre defineInt(char * element, arbre defGauche, arbre defDroit)
{
arbre arb;
arb=(arbre)malloc(sizeof(noeud));
 
arb->ope=(char)NULL;
arb->value = element;
arb->filsGauche=defGauche;
arb->filsDroit=defDroit;
 
return arb;
}
Et dans une autre fonction je déclare un char tmp[100] = ""; dans lequel j'ajoute des caractères de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
sprintf(tmp,"%s%c",tmp,chaine[i]);
// J'ai aussi essayé en faisant tmp[i] = chaine[i]
Puis j'appelle ma fonction defineInt en y ajoutant mon paramètre tmp. Hors une fois arrivée dans la fonction, ma variable vaut plein de IIIIIII .... Alors que lors de l'appel tmp vaut bien par exemple 15 ....

Merci d'avance pour votre aide.