Bonjour,
Comme beaucoup de débutants je bute sur l'assimilation des pointeurs. Afin de mieux comprendre comment ces drôles d'objets fonctionnaient, j'ai voulu tester le transfert de tableaux.
Pour cela, j'ai créé une fonction generer qui crée un tableau de valeurs à partir de données rentrées par l'utilisateur et l'envoie au main par l'intermédiaire d'un pointeur.
Le reste de la fonction main consiste à lire le tableau obtenu pour s'assurer qu'il est bien identique au tableau entré plus haut.
Voilà mon code :
Mon souci est qu'assez souvent un chiffre diffère entre le tableau de sortie et celui d'entrée ( le 2e ou le dernier élément du tableau sont régulièrement faux tandis que les autres sont exacts )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <stdio.h> #include <stdlib.h> int * generer(int n); int main() { int i,n; int *T = NULL; printf("Taille du tableau ? "); scanf("%d", &n); T = generer(n); for(i=0;i<n;i++) { printf("%d\n",T[i]); } return 0; } int * generer(int n) { int i; int T[n]; int *pt = NULL; for(i=0;i<n;i++) { printf("Element du tableau ? "); scanf("%d", &T[i]); } pt = &T[0]; return pt; }
J'aimerais savoir d'où peut venir cette irrégularité.
Partager