Tableaux et valeurs incorrectes
Bonjour a tous. Je débute en C et j'aurais besoin de vos lumières.
J'essaye de faire remplir un tableau par une fonction pour ensuite pouvoir continuer d'utiliser mon tableau dans mon programme principal.
Dans ma fonction, les valeurs du tableau sont correctes.
Dans mon programme principal, les valeurs sont incorrectes.
Voici mon code :
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 30 31 32 33 34 35 36 37 38 39 40 41 42
|
int getTabScore(int* scoreS)
{
FILE *fichier;
char tampon[BUFSIZ];
int actuel = 0, cpt = 0, c;
fichier = fopen ("scores.txt", "r");
if (!fichier)
return EXIT_FAILURE;
while ((c = fgetc (fichier)) != EOF) {
if (c == ';'){
actuel = 0;
memset (tampon, 0, sizeof tampon);
}
else if (c == '\n'){
scoreS[cpt] = atoi(tampon);
cpt++;
actuel = 0;
memset (tampon, 0, sizeof tampon);
}
else
tampon[actuel++] = c;
}
for (int j = 0; j <10; j = j+1)
{
printf("i: %d, score: %d",j, scoreS[j]);
printf("\n");
}
}
int main(int argc, char *argv[])
{
int* scores[10];
getTabScore(scores);
for (int j = 0; j <10; j = j+1)
{
printf("i: %d, score: %d",j, scores[j]);
printf("\n");
}
return EXIT_SUCCESS;
} |
Et voici les valeurs que me sort le printf:
- dans la fonction getTabScore
i: 0, score: 10000
i: 1, score: 9000
i: 2, score: 8000
i: 3, score: 7000
i: 4, score: 6000
i: 5, score: 5000
i: 6, score: 4000
i: 7, score: 3000
i: 8, score: 2000
i: 9, score: 1000
- dans le main
i: 0, score: 10000
i: 1, score: 8000
i: 2, score: 6000
i: 3, score: 4000
i: 4, score: 2000
i: 5, score: 19986320
i: 6, score: 1901871984
i: 7, score: -756535753
i: 8, score: -48123601
i: 9, score: -1227083849
Je ne comprends pas pourquoi les valeurs sont differentes :/.
Merci d'avance pour votre aide.
Super-zen.