Bonjour,

Voici un petit code que je ne comprends pas bien:

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 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.