Bonsoir je débute dans le c++ et je vois actuellement les fonctions , dans mon livre Programmer en langage c++ de Claude delannoy il y à un code qui est le suivant :
Et le résultat donner je n'arrive pas à le comprendre : n = 8 p = 3 et p = 3 q = 12
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 #include <iostream> using namespace std; int & alterne(int &, int &); int main() { int n = 1, p = 3, q = 5; alterne(n,p) = 8; cout <<" n = " << n <<" p = " << p << endl; alterne(p,q) = 12; cout <<" p = " << p <<" q = " << q <<endl; } int & alterne (int & n1, int & n2) { static bool indic = true; if (indic) { indic = false; return n1; } else { indic = true; return n2; } }
Mais pour moi selon ma compréhension j'arrive à un résultat différent qui est le suivant : n = 8 p = 3 et p = 12 et q = 5 or ce n'est pas juste mais je n'arrive pas à comprendre comment il arrive au premier résultat que je vous ait donner ici.
Pouvez vous svp m'aider à comprendre pourquoi il met p = 3 et q = 12 dans l'appel de la deuxième fonction ?
Je vous remercie d'avance et vous souhaite une excellente soirée / journée.
Aigle-Royal
Partager