reiboul a écrit :
je m'entraine a utiliser la commande 'return' et j'ai ici un petit probleme
|
return n'est pas une 'commande', mais une 'instruction'.
Citation :
j'ai une fonction, appelons la 'fonction' qui me calcule 2 valeurs, et une fonction main, dans laquelle je dois recuperer ces valeurs et les afficher
pour l'instant j'ai un truc qui ressemble a
int fonction (int x, int y) {
---
--
return a, b;
}
|
|
Je ne sais pas qui t'a fait croire que ce code avait un sens, mais c'est faux. En fait, seule dernière valeur (la plus à droite) est retournée, soit ici, la valeur de b.
#include <stdio.h>
int f(void)
{
return 1, 2;
}
int main(void)
{
int x = f();
printf ("x = %d\n", x);
return 0;
}
|
Citation :
main() {
---
----
printf("%d et %d",fonction(x, y)) }
a la place des %d dans mon printf j'aimerai donc afficher le couple de reponses A et B obtenu grace a 'fonction', le probleme est que en faisant comme ça, j'ai des valeurs assez folkloriques qui s'affichent...
qqn a une idée alors pour afficher mes 2 valeurs a et b en modifiant un peu cette ecriture??
merci bcp
|
Evidemment, ceci ne fonctionne pas du tout.
Soit tu passes l'adresse de 2 variables :
avec f() défini comme suit :
void f (int *pa, int *pb)
{
...
}
|
soit tu définis une structure
struct data
{
int a; int b;
};
|
que tu instancies:
et dont tu passes l'adresse à la fonction
La fonction étant définie comme suit :
void f (struct data *p_results)
{
...
}
|
Message édité par Emmanuel Delahaye le 03-03-2006 à 21:19:36
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/