#include #include // we include the library string.h to the use of string void saisie( char *cpointeur); // Prototypes of the three functions used in the program int compte(char *s); char *miroir(char *s); int main(int argc, char *argv[]) { char chaine[20]; saisie(chaine); printf("miroir est %s", miroir(chaine)); } // this function is used to put a string void saisie(char *cpointeur) { printf("saisir une chaine\n"); scanf("%s", cpointeur); } /* the function miroir (in french ) it means "mirror" , the major idea is to permute the first caractere with the last using an auxilary variable (aux) the the 2nd character with the penultimate one and so on . we made a call to the function (compte) which counts the length of the string . As you can see clearly , I substruct 1 from the equation k = compte(s)-1 ; to get rid of the EOF caractere which is '\0' because it is not a caractere from the string typed */ char *miroir(char *s) { int i; char aux; int k; k = compte(s) - 1; i = 0; while (i <= k) { aux = s[i]; s[i] = s[k]; s[k] = aux; k--; i++; } return s; } // compte plays the role of strlen so we can change it by an strlen function if // you want that int compte(char *s) { char *p; int k; p = s; k = 0; while (*p != '\0') { p++; k++; } return k; }