Retourner plusieurs variable par une fonction

Résolu
abdess111 Messages postés 40 Statut Membre -  
mamiemando Messages postés 33881 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

13 réponses

mamiemando Messages postés 33881 Date d'inscription   Statut Modérateur Dernière intervention   7 912
 
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