Bonjour tout le monde, c'est ma première participation dans ce forum , j’espère être le bienvenu parmis vous : p .

donc voila j'ai écrit cette fonction qui fait convertir une chaîne de nombre en une liste chaînée voila le code :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 list* fonction(char *chaine,list* liste)
 
 { char *ptr=chaine; 
 
    int car; 
 
       for(ptr;*ptr!='\0';ptr++) 
 
        liste=ajouterNumDebut(liste,car=(*ptr-48));
 
 return liste;
}

en main() je l'ai déclarée comme ça :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
list* nombre=init(); 
 
char *chaineNombre=malloc(sizeof(char));
 
//sans malloc ça marche pas je ne sais pas pq 
 
//ensuite l'appel 
 
nombre=fonction(chaineNombre,nombre);

ça marche bien pour une longueur de chaîne <= 7 (1234567 par exemple) , mais avec un numéro de plus (12345678) ça plante (programme.exe a cessé de fonctionner )

help me !!