FriconiX
Des milliers de pictogrammes gratuits dessinés avec amour!

Cours 8.2. L'appel des fonctions

Syntaxe

L'appel d'une fonction se fait simplement en spécifiant le nom de la fonction suivi des paramètres entre parenthèses :

x = max (4,3);

Les paramètres peuvent être :

Il est possible de mixer les paramètres tant que ces derniers respectent les types déclarés dans le prototype :

#define N 10

int max max(int a, int b);

int main(void)
{
  float x,y=2,z=18;
  x = max (5,26);         // Valeurs
  x = max(y,z);           // Variables
  x = max(y,N);           // Variables et constante
  x = max (max(y,z), 10); // Fonction et valeur

  if (max(y,z) > 10) {    // Variables dans un test
    ...
  }
  ...
}

Les parenthèses

L'appel d'une fonction est toujours suivi de parenthèses afin de différentier la fonction des variables du même nom. Analysons l'exemple suivant :

int name (void) {
  int name=26;
  return name;
}

Le code ci-dessus implémente une fonction name() qui contient une variable du même nom. Lorsque name est suivi de parenthèses, il s'agit de la fonction, sinon de la variable. Sans les parenthèses, le compilateur ne peut pas différentier la variable name de la fonction name(). On ajoute toujours des parenthèses après le nom d'une fonction, y compris dans un texte. Bien sûr, ce type de code est à banir pour éviter les confusions.

Exercice

Ecrire une fonction moyenne() qui retourne la moyenne de trois nombres flottants. Tester votre fonction avec un programme principal qui demande à l'utilisateur de saisir trois notes avant d'en afficher la moyenne. La fonction moyenne() ne doit rien afficher, mais retourner le résultat du calcul au programme principal.

Entrez la première note : 12.4
Entrez la seconde note : 13.7
Entrez la troisième note : 10.2
-----------------------
La moyenne est de 12.10

Quiz

L'appel de la fonction ...

Vérifier Bravo ! Essaie encore ...

Lors de l'appel d'une fonction, les paramètres peuvent être ...

Vérifier Bravo ! Essaie encore ...

Considérons la fonction suivante, quels appels sont corrects ?

int max (int a, int b);
Vérifier Bravo ! Essaie encore ...

Considérons une fonction max() qui retourne le plus grand de deux entiers. Qu'affiche le code suivant ?

int x;
x = max( 10, max (5,12));
printf ("%d", x );
Vérifier Bravo ! Essaie encore ...

Voir aussi


Dernière mise à jour : 07/11/2020