Remplace tous les "<=" par des "<" dans ton programme. 1-1-i est toujours négatif, donc ça déborde de l'autre côté. assigner deux fois la même valeur à p1 ne sert à rien.
Inverser un tableau en C. p2 ne bouge pas donc *p2 = truc écrit toujours au même endroit. p2 est d'ailleurs NULL donc ça devrait crasher
De plus si tu fais la boucle de 0 à 9 tu vas échanger 2 fois les éléments et retrouver le départ. Solution: int i, t;
for( i=0; i<5; i++)
t = TA[i];
TA[i] = TA[9-i];
TA[9-i] = t;}
"le programme utilisera des pointeurs p1 et p2 et une variable numérique aide pour la pérmutation des élements"
On peut dire que l'énoncé est obscur, mais je pense qu'il veut dire ça: int *p1, *p2, t;
for( p1=&TA[0], p2=&TA[9]; p1