Retourner plusieurs variable par une fonction

Résolu
abdess111 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33768 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
A voir également:

13 réponses

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