Bonour voici l'exercice sur lequel je bloque :
Le sous-programme « miroir » permet de concaténer à la phrase saisie au travers de l’option de l’exercice 1 son équivalent inversé avec un ‘ : ’ en séparateur. Voici un exemple : si la phrase saisie en 1 est « il fait beau », le résultat de cette option sera « il fait beau : uaeb tiaf li ».
Ici, le sous-programme reçoit un pointeur sur une phrase et retourne le pointeur sur une nouvelle phrase allouée dynamiquement.
L’appelant affiche la phrase résultat.
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 //ma fonction #include "mabib.h" char* inver(char* chaine) { int i; char sais[1000]; char* tab2; for (i=0;i<=strlen(chaine);i++) { sais[i]=chaine[strlen(chaine)-i]; } tab2=(char*)malloc((strlen(chaine))*sizeof(char)); strcpy(tab2,sais); return(tab2); }Si quelqu'un pourrait m'expliquer mon erreure j'ai un peu de mal, je pense que ca vient surement de mon return(tab2) mais je vois pas comment faire autrement.
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 //mon main() #include "mabib.h" int main(int argc, char *argv[]) { char* chaine1; int toto=0; printf("Affichez la phrase à mémoriser : "); chaine1=saisie(chaine1); puts(chaine1); voyelle(chaine1,&toto); printf("\n\n %d",toto); puts(""); puts(inver(chaine1)); system("PAUSE"); return 0; }
Merci d'avance.
Partager