Bonjour,
J'ai un petit problème avec la fonction suivante. Dans ma fonction, j'incrémente une variable nommée vt2. Je souhaite retourner dans le main cette variable, mais ça n'a pas l'air de fonctionner. J'ai inclu un premier printf juste avant le return qui lui m'indique la bonne valeur de ma variable. Par contre, une fois de retour dans le main, juste avant de passer à la fonction recup, la valeur de ma variable vt2 n'est plus la même. Pourtant, le prototype et le return me semblent corrects

int write_vec (int *,int *); /* prototype */
void recup (int *,int); /* prototype */
void main ()
{
-----
write_vec (&v2[0],&t[0][0]);
printf ("Valeur de vt2=%d\",vt2); recup (&v2[0],vt2);
-----
}
/* Fonction write_vec */
int write_vec (int *v2,int *t)
{
#define VNUL int c,l,u,vt3;
for (c=0,vt2=0,u=0;c<10;c++)
{
for (l=0;l<100;l++)
{
if (*(t+l*10+c)!=VNUL)
{
v2[u]=(t+l*10+c);
u=u+1;
vt2++;
}
}
}
printf ("Valeur de vt2=%d\",vt2); return (vt2);
}