return
est un mot-clé du C qui a une double utilité :
Dans une fonction du type void fct()
, le return est optionnel. S'il est présent,
il s'écrit nécessairement sous la forme return;
sans valeur.
Une fonction ne peut retourner qu'une seule valeur. Nous verrons plus tard d'autre mécanismes (pointeurs ou structures) qui permettent à une fonction de retourner plusieurs valeurs.
Notons que return
est un mot-clé du C qui se doit d'être commun à
tous les compilateurs respectant la norme ANSI. return
n'étant pas une fonction,
les parenthèses ne sont pas nécessaires :
return (5);
devrait plutôt s'écrire :
return 5;
Le mot-clé return
peut être suivi
Voici quelques exemples :
// Valeur constante
return 35.65;
// Calcul
return 2*3.1415;
// Constante symbolique
return M_PI;
// Variable
return maVariable;
// Fonction
return cos(3.1415);
Écrire une fonction int premier(unsigned int n);
qui recoit un entier positif n
en paramètre.
n
= 0
: la fonction retourne 0
.n
= 1
: la fonction retourne 0
.n
est divisible par un entier compris dans l'intervalle [2;n[, la fonction retourne cet entier.n
est un nombre premier, la fonction retourne 1
.Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs (1 et lui-même).
Tester la fonction avec le code suivant dans le programme principal :
unsigned int x, p;
// Saisie d'un entier positif
printf("Entrez un entier positif : ");
scanf ("%u", &x);
// Analyse si l'entier saisi est un nombre premier
p = premier (x);
switch (p) {
case 0: printf ("Par convention, 0 et 1 ne sont pas des nombres premiers.\n"); break;
case 1: printf ("%u est un nombre premier.\n",x); break;
default: printf ("%u est un diviseur de %d.\n", p, x); break;
}
Voici quelques exemples d'exécution du programme :
Entrez un entier positif : 1 Par convention 0 et 1 ne sont pas des nombres premiers.
Entrez un entier positif : 125 5 est un diviseur de 125.
Entrez un entier positif : 11 11 est un nombre premier.
En C, le mot-clé return
permet :
Considérons la fonction suivante :
void fct(int i);
return
est ...
Qu'affiche la fonction suivante :
void test() {
printf ("Hello");
return;
print f("Bye");
}
Quelles syntaxes permettent de retourner plusieurs valeurs ?