Les foctions

Fermé
les foctions - 4 déc. 2016 à 08:58
Airox Messages postés 146 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 5 novembre 2018 - 24 déc. 2016 à 17:21
Bonjour, s'il vous plait Comment une fonction peut-elle renvoyer plusieurs valeurs en Langage C
donner un exemple pour accepter. Merci

3 réponses

yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 Ambassadeur 1 557
4 déc. 2016 à 12:19
Par exemple en utilisant des structures, cela permet de regrouper plusieurs variables.
0
abdelouafi1 Messages postés 5 Date d'inscription dimanche 5 octobre 2014 Statut Membre Dernière intervention 24 décembre 2016
Modifié par Chris 94 le 24/12/2016 à 15:03
La première consiste à passer des paramètres par référence plutôt que par
valeur. Par exemple :

void fonction(int& x, int& y)
{
x = 123;
y = 456;
}

int a, b;
fonction(a, b);
// ici, a vaut 123 et b vaut 456

Une autre solution : créer un objet pour regrouper les 2 valeurs.

struct RetourFonction
{
int x;
int y;
};

RetourFonction fonction()
{
RetourFonction ret;

ret.x = 123;
ret.y = 456;

return ret;
}

RetourFonction s = fonction();
// s.x vaut 123 et s.y vaut 456


Je vous propose mon site contenant les exercices corrigés en c
Publicité supprimée par la Modération
0
Airox Messages postés 146 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 5 novembre 2018 13
24 déc. 2016 à 17:21
Utilise des pointeurs !
Tu as un bon tutoriel sur:
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/15417-a-lassaut-des-pointeurs

Voilà comment tu peux l'appliquer.
void addition(int* x, int* y)
{
     *x=*x+10;
     *y=*y+3;
}
int main()
{
     int x=3,y=5;

     addition(&x,&y);

     printf("x = %d et y = %d\n",x,y);
}
0