Programmer en langage C
98
© Éditions Eyrolles
3.2 L’instruction return
Voici quelques règles générales concernant cette instruction.
●
L’instruction return peut mentionner n’importe quelle expression. Ainsi, nous aurions pu
définir la fonction fexple précédente d’une manière plus simple :
float fexple (float x, int b, int c)
{
return (x * x + b * x + c) ;
}
●
L’instruction return peut apparaître à plusieurs reprises dans une fonction, comme dans
cet autre exemple :
double absom (double u, double v)
{
double s ;
s = a + b ;
if (s>0)
return (s) ;
else
return (-s)
}
Notez bien que non seulement l’instruction return définit la valeur du résultat, mais, en
même temps, elle interrompt l’exécution de la fonction en revenant dans la fonction qui
l’a appelée (n’oubliez pas qu’en C tous les modules sont des fonctions, y compris le
programme principal). Nous verrons qu’une fonction peut ne fournir aucune valeur : elle
peut alors disposer de une ou plusieurs instructions return sans expression, interrompant simplement l’éxecution de la fonction ; mais elle peut aussi dans ce cas ne comporter
aucune instruction return, le retour étant alors mis en place automatiquement par le
compilateur à la fin de la fonction.
●
Si le type de l’expression figurant dans return est différent du type du résultat tel qu’il a
été déclaré dans l’en-tête, le compilateur mettra automatiquement en place des instructions
de conversion.
Il est toujours possible de ne pas utiliser le résultat d’une fonction, même si elle en produit un. C’est d’ailleurs ce que nous avons fait fréquemment avec printf ou scanf.
Bien entendu, cela n’a d’intérêt que si la fonction fait autre chose que de calculer un
résultat. En revanche, il est interdit d’utiliser la valeur d’une fonction ne fournissant pas
de résultat (si certains compilateurs l’acceptent, vous obtiendrez, lors de l’exécution, une
valeur aléatoire !).
Delannoy Livre.book Page 98 Mercredi, 6. mai 2009 4:26 16
Précédent

- 111/281

Suivant