Bonjour à tous,
Je dois dire ce qu’affiche le code suivant sans explication (c’est un QCM) et je voulais savoir comment je devrais m’y prendre pour ne pas m’y perdre ?
Je pourrais tout simplement le compiler et voir le résultat mais ce n’est pas l’objectif :-).
Mon raisonnement:
Calculer nested_while(a = 2; b = 2; c = 3)
—> m = 7 (on “écrase” la variable globale, on prend la locale)
0<7 OK ; 0 < 2 OK -> j = 1 -> Print: 1 0
-> R = 1.
Etc.
J’arrive à quelque chose du genre 1 0 2 1 pour result.
m pour moi vaut 2 quand on le print dans le main mais c’est faux car la réponse n’est même pas proposée.
On propose:
A / 102022
B/ 102020
C/ 10203023
D/ 102062
Code dont je fais référence:
Réponse du corrigé (si jamais): A.
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 #include <stdio.h> int m = 2; int nested_while(int a, int b, int c){ int i, j, m, r; m = a + b + c; i = 0; j = 0; r = 0; while (i < m) { while (j < b) { j++; printf("%d %d ", j, i); r = i + j; } i++; } return r; } int main() { int c, i, j; int result; c = 3; i = 1; j = ++i; result = nested_while(i, j, c); printf("%d %d", m, result); return 0; }
Si vous avez des astuces ou quoi que ce soi pour m’aider, ça serait super!
Partager