Bonjour, j'ai un problème sur lequel je bûche depuis quelques jours :
Je dois écrire une fonction qui inverse une chaine de caractères (Bonjour => ruojnoB). J'ai une en-tête imposée que je ne peux pas modifier :
Quand je fais mon code directement dans le main, je m'en sors, mais dès que je veux appeler la fonction, l'inversion fonctionne bien, mais je n'arrive pas à récupérer le bon pointeur dans res. Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part void ReverseString ( char * str, char * res );
Ce qui m'écrit :
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 main() { char* string = "Bonjour"; char* result = "Jourbon"; ReverseString ( string, result ); printf("Resultat : %s\n",result); } void ReverseString ( char * str, char * res ) { char tmp[100]; int I = 0; int J = strlen(str)-1; while ( (tmp[I]=str[J-I]) != '\0') I++; res=tmp; printf("Resultat temporaire : %s\n",res); }
Resultat temporaire : ruojnoB
Resultat : Jourbon
Si vous pouviez m'aider ce serait sympa, d'avance merci !
Partager