Bonjour tous,
Bien je voulais faire une fonction inversion de chaîne de caractères, de sorte que "direct" devienne "tcerid", je bloque.

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;
}
Le résultat est une chaîne absurde ! J'attends vos réponses, merci d'avance !