Bonjour tous,
Bien je voulais faire une fonction inversion de chaîne de caractères, de sorte que "direct" devienne "tcerid", je bloque.
Le résultat est une chaîne absurde ! J'attends vos réponses, merci d'avance !
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 void permuter_ch(char * a, char * b) // à utiliser sous la forme permuter(&a,&b) { char k; k=*a; *a=*b; *b=k; } char * inverser_ch(char ch[]) { int i; for(i=0;i<strlen(ch)/2;i++)//il suffit de s'arrêter sur strlen(ch)/2, que la chaîne soit de taille paire ou impaire. { permuter_ch(&ch[i],&ch[strlen(ch)-i-1]); } ch[strlen(ch)]='\0';//nécessaire ? return ch; } int main() { char * ch="bonjour"; printf("%s\n",inverser_ch); return 0; }
Partager