Salut à tous,
Bon, je ne suis pas une flèche en programation, et je bloque sur un souci qui va peut etre vous paraitre dérisoire, mais pas moyen, je comprend pas.
J'ai une fonction qui marche tres bien, et qui est définie comme suit :
int ordre (char *chaine1,char *chaine2);Je la teste, sans souci, dans le main en faisant :
char test1 = "toto";
char test2 = "tata";ordre(test1,test2);Ca marche nickel.Maintenant je veux me servir de cette fonction dans une autre fonction, avec l'un des deux parametres qui sera lui meme un parametre de cette fonction. Je m'explique plus clairement :
Nouvelle fonction :
ajout(int machin, float truc, char nom[ ]);Dans cette fonction ajout, je fais appel a ordre, de cette facon :
ordre (nom, test2);Ca ne marche pas (erreur de segmentation). La variable nom semble merder.
J'ai essayé de mettre
char *nom, ou de spécifier une longueur de chaine entre les crochets, rien a faire, ça ne passe pas, toujours l'erreur de segmentation. ..
J'ai fais une petite expérience. Dans le main, j'ai fais appel a ajout de cette facon :
ajout(1,1.5,"bibi");Ca fait l'erreur de segmentation.
J'ai aussi fait
char nom[]="bibi";
ajout(1,1.5,nom);Et la ca marche. Evidemment , c'est de la premiere facon que je veux apeller ma fonction, pas en déclarant une autre variable dans le main.
Quelqu'un peut m'eclairer ?
D'avance, merci
Guizmo