Bonjour lorsqu'on exécute ce programme les nombres ne s'échangent pas. Est-ce que c'est parce que dans la procédure on copie x et y dans p et q, puis p et q sont échangés mais les valeurs de p et q ne sont pas copiées dans x et y ?
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 #include <stdio.h> void echange(int p, int q) // les paramètres sont passés par valeur { int temp; printf("avant permutation dans la fonction p=%d q=%d\n",p,q); temp=p; p=q; q=temp; printf("après permutation dans la fonction p=%d q=%d\n",p,q); } int main(void) { int x=3,y=5; printf("avant permutation x=%d y=%d\n",x,y); echange(x,y); printf("après permutation x=%d y=%d",x,y); return 0; }
Partager