2 printf identiques affichent resultats différents
Bonjour
J'ai un prog tout simple
une fonction *nouveauVecteur qui retourne un pointeur sur un tableau de 3 réels
Une fonction main qui affiche ce tableau
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
float *nouveauVecteur()
{
float *pVect;
float vect[3];
pVect = (float *) malloc ( 3 * sizeof(float) );
printf ("V0:\n");
scanf ("%f", &vect[0]);
printf ("V1:\n");
scanf ("%f", &vect[1]);
printf ("V2:\n");
scanf ("%f", &vect[2]);
pVect = &vect[0];
return pVect;
}
int main (void)
{
float *pVecteur;
pVecteur = nouveauVecteur();
printf ("contenu de pVecteur: %f \n", *pVecteur);
printf ("contenu de pVecteur: %f \n", *pVecteur);
} |
je souhaite afficher le contenu de mon tableau dans mon main.
ça fait 2 heures que je suis dessus ...
Je me suis apercu du probleme est le suivant:
Mon 1er printf affiche bien le contenu de la 1ere case du pointeur
Le 2d printf (copie conforme de la ligne precedente, qui devrait afficher la même chose) m'affiche n'importe quoi ...
Donc lorsque je veux afficher les cases suivantes (pVecteur ++), c'est n'importe quoi également ...
L'un d'entre vous à une idée ??
Je remarque que lorsque j'affiche le contenu de mon tableau dans la fonction, tout va bien ...
Merci
Matthieu