En anglais, void
signifie néant. Ce mot-clé est utilisé lorsqu'une fonction ne
retourne aucune valeur ou n'accepte aucun paramètres. Voici un exemple de
de fonction avec void
:
int main (void) {
return 0;
}
Si une fonction ne retourne pas de valeur, alors, il faudra précéder sa déclaration
du mot-clé void
. Voici un exemple de fonction qui affiche un entier et ne retourne
rien :
void println(int n) {
printf ("%d\n", n);
}
Dans ce type de fonction, le mot-clé return
peut être utilisé, mais il ne sert qu'à
terminer l'exécution de la fonction.
Si une fonction n'accepte aucun argument, il faudra préciser void
entre les
parenthèses pour informer le compilateur et les utilisateurs
qu'elle ne reçoit aucun paramètre. Par exemple, la fonction standard rand()
permet
de retourner un nombre pseudo-aléatoire :
int rand(void);
Notons que certains compilateurs acceptent l'omission du mot-clé void
entre les
parenthèses. Toutefois, il est préférable de le mettre systématiquement afin d'assurer
la portabilité du code vers un autre compilateur.
Écrire une fonction printBase(unsigned int n, unsigned char base)
qui affiche
l'entier n
dans la base base
suivi d'un retour à la ligne :
n
) est le nombre à afficher.base
) est la base dans laquelle n
va être affiché.Le paramètre base
ne peut prendre que trois valeurs :
n
dans la base octal (code de format %o)n
dans la base décimaln
dans la base hexadécimal On fournit le début du programme principal qui demande à l'utilisateur de saisir un entier. Compléter ce programme afin que l'entier saisi soit affiché dans les trois bases :
Entrez un entier positif : 185 En octal : 271 En décimal : 185 En hexadécimal : b9
Écrire une fonction saisie()
qui saisit une note au clavier et
retourne cette note. Le corps de la fonction saisie()
ne doit contenir que
3 lignes :
note
scanf()
return
Tester la fonction avec le programme principal suivant :
int main(void) {
float n1, n2;
// Saisie des notes
printf ("Entrez une note : ");
n1 = saisie();
printf ("Entrez une autre note : ");
n2 = saisie();
// Calcul et affichage de la moyenne
printf ("Moyenne : %.2f\n", (n1+n2)/2);
return 0;
}
Entrez une note : 12.4 Entrez une autre note : 13.7 Moyenne : 13.05
Lesquelles de ces fonctions ne reçoivent aucun paramètre ?
void
entre les parenthèses
Essaie encore ...
Lesquelles de ces fonctions ne retournent aucun paramètre ?
void
doit précéder le nom de la fonction pour indiquer qu'elle ne retourne pas de valeur.
Essaie encore ...
Considérons la fonction suivante, quelles affirmations sont correctes ?
void update(void);
Quelles fonctions ne recevoivent aucun paramètre en entrée et en retournent 2 ?