Bonjour.
Note : On peut aussi directement afficher une valeur retournée par une fonction comme ceci :
printf("Longueur = %d\n", strlen("Ma chaîne"));
L'expression strlen("Ma chaîne") prend pour valeur la longueur de la chaîne (valeur de retour de la fonction strlen(), cette valeur est de type int). On peut ensuite soit affecter cette valeur à une variable (voir exemple de ram-0000), soit directement mettre cette expression en paramètre d'une fonction (comme printf() par exemple) du moment que le paramètre ou la variable est du même type que cette valeur de retour.
Après, il existe un type de fonction un peu particulier que l'on appelle les procédures (elles sont de type void en C comme pour d'autres langages). Ces fonctions ne retournent aucune valeur, on ne peut donc pas affecter l'expression d'une procédure dans une variable ou la mettre en paramètre.
Exemple :
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 28 29 30
| # include <stdio.h>
/* Une fonction de type int */
int carre (int nb)
{
return (nb*nb);
}
/* Une procédure */
void carre2 (int nb)
{
printf ("%d", (nb*nb));
}
/* Fonction principale */
int main (void)
{
int nb = 2;
/* affectation de la valeur retournée d'une fonction dans une variable */
nb = carre (nb); /* nb vaudra 2*2 = 4 */
printf ("%d", nb); /* affichera 4 */
/* affichage de la valeur retournée par une fonction */
printf ("%d", carre(nb)); /* affichera 4*4 = 16 */
/* exécution de la procédure */
carre2 (nb); /* affichera 4*4 = 16 */
return 0;
} |
Cordialement,
Idriss
Partager