Renvoyer plusieurs valeur en c

Sarah1609_2710 -  
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voila je voudrais renvoyer plusieurs valeur mais je ne sais pas comment faire j'ai vu que l'on pouvait utiliser un type structuré mais je ne vois pas comment faire pouvez vous maider rsvp

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Une fonction C peut retourner une seule chose (tous les types sauf un tableau.)
On peut donc retourner une structure (qui d'ailleurs peut tout contenir y compris un tableau)
struct TroisChoses {
    int  premier;
    double  second;
    char  troisieme[10];
};

struct TroisChoses  fonction( ) {
    struct TroisChoses  res;
    res.premier = 42;
    res.second = 3.14159;
    strcpy( res.troisieme , "et voila" );

    return  res;
}

int main() {
    struct TroisChoses  attendu;

    attendu = fonction();
    prinft("recu : %d %f %s\n", attendu.premier, attendu.second, attendu.troisieme );
}
0