Retourner plusieurs variable par une fonction

Résolu
abdess111 Messages postés 41 Date d'inscription   Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
slt tt le monde
jai un probleme c'set que je veux retourner plusieurs valeurs par une fonction et j'arrive pos a reussir,je sais ke peut etre je dois utiliser un tableau(plutoto pointeur)mais quand jexecute le programme il me retourne juste la premier valeur du tableau voila un ptit exemple
#include<stdio.h>
#include<stdlib.h>
int test()
{
int *p;
p=malloc(4*sizeof(int));
*(p+0)=1;
*(p+1)=2;
*(p+2)=3;
*(p+3)=4;
return *p;
}
main()
{
int *tab,i;
tab=malloc(4*sizeof(int));
*tab=test();
for(i=0;i<4;i++)
printf("%d \n",*(tab+i));
}
voila ce programme me donne juste la premier valeur du tableau(la valeur 1)et pour les autres valeurs il me donne des adraisses.
svp jai besoin d'aide merci de maider
Configuration: Windows XP
Firefox 2.0.0.11

13 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Ton programme corrigé :
    #include <stdio.h>
    #include <stdlib.h>
    
    int *test(){
        int *p;
        p = malloc(4*sizeof(int));
        p[0] = 1;
        p[1] = 2;
        p[2] = 3;
        p[3] = 4;
        return p;
    }
    
    int main(){
        int *tab;
        int i;
        tab = malloc(4*sizeof(int));
        tab = test();
        for(i=0;i<4;i++) printf("%d\n",tab[i]);
        free(tab);
        return 0;
    }

    Bonne chance
    13