Fonction swap - variables
Bonjour,
Voici un petit code que je ne comprends pas bien:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <stdio.h>
void f1(int a, int b) {
int c;
c = a;
a = b;
b = c;
}
int main() {
int a = 0;
int b = 111;
f1(a,b);
printf("a= %d, b = %d\n", a, b);
f1(b,a);
printf("a= %d, b = %d\n", a, b);
return 0;
} |
J'aimerais "prédire" le résultat. Et... je n'obtient pas ce que je veux (en compilant le code).
Ce que je pensais: Je calcule f1(a=0,b=111) -> c = 0 , a = 111, b = 0 . Or, le programme me sort a = 0 et b = 111 et je ne vois pas pourquoi.
Pour f1(b,a) là mon raisonnement marche ou du moins j'obtient ce qui est prévu:
f1(a = 111, b =0) -> c= 111, a = 0, b = 111 ce qui est OK.
Merci d'avance.