Bonjour,
Programme pour inverser les éléments d'un tableau à l'aide de pointeurs :
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 #include<stdio.h> int main(int argc, char *argv[]) { int A[50]; int *P1,*P2,AIDE,N; printf("entrer la dimension du tableau a (max.50) : "); scanf("%d",&N); for(P1=A;P1<A+N;P1++) { printf("element %d : ",P1-A); scanf("%d",P1); } for(P1=A;P1<A+N;P1++) printf("%d", *P1); printf("\n"); for(P1=A,P2=A+(N-1);P1<P2;P1++,P2--) { AIDE=*P1; *P1=*P2; *P2=AIDE; } printf("tableau resultat : \n"); for(P1=A;P1<A+N;P1++) printf("%d", *P1); printf("\n"); return 0; }
Je ne comprends pas pourquoi on met P2=A+(N-1) dans la boucler de traitement et P1<A+N dans les autres boucles ?
Le dernier élément de A est A+N ou A+(N-1) ? P2 doit bien pointer sur le dernier élément de A ?
Partager