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/