Bonjour ,
Dans ce code , il a certaines choses que je ne comprends pas .
1 er ) Je pensais que l'ecriture du prototype de la fonction devait etre rigoureusement le meme que celui de la fonction apres le main . Ici nous avons dabord : char *strinverser(char *input);
puis la fonction elle meme : char *strinverser(char *entrante)
2 eme) puts(strinverser(machaine)); Pour moi ici , on a l'appel de la fonction qui envoie le tableau "ma chaine " et apres inversion de la chaine , le retour de la fonction se fait dans la fonction puts . C'est ca ?
3eme) Pourquoi apres la 1ere ligne de la 1 ere boucle while , il y a un " ; " ?
Derniere question : L'utilisation des pointeurs n'est pas encore super clair pour moi . Que nous apporte de plus l'utilisation de pointeur dans cet exemple ?
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 #include <stdio.h> char *strinverser(char *imput); int main() { char machaine[64]; printf("Saisissez du texte :"); fgets(machaine,62,stdin); puts(strinverser(machaine)); return 0; } char *strinverser(char *entrante) { static char sortante[64]; char *i,*o; i=entrante; o=sortante; while(*i++ != '\n') ; i--; while(i>=entrante) *o++=*i--; *o='\0'; return(sortante); }
Partager