Răspuns :
Răspuns:
617
46
1025
106
Explicație:
Quick tip )) când mai trebuie să-ți dai seama de „ce face un program” bagă-l ori în CodeBlocks ori într-un compiler de C++ online.
Edit:
Cam asta ar fi și explicația
x și y variabile globale
x are valoarea 4 și y are valoarea 2
când apelăm prima dată f(x,y) apelăm defapt f(4,2)
x = y + x <=> x = 4 + 2 = 6
y = 2 * x + 5 <=> y = 2 * 6 + 5 <=> y = 17
deci se afișează 617
șmecheria aici e că al doilea parametru e o referință spre orice variabilă îi transmitem la apelul funcției, deci noi când avem f(x,y) x ( din interiorul funcției ) va fi o referință spre variabila ta globală y deci orice modificare adusă lui x în interiorul funcției tale ar fi ca și cum ai modifica valoarea din y global direct dacă are sens ce zic aici )), dacă nu te mai poți uita peste referințe să vezi cum funcționează.
Deci y-ul tău global va fi 6 iar x va rămâne cât a fost inițial 4.
Iar când afișăm x și y vom avea 46.
După când mai apelăm odată f(y,x) adică f(6,4) se va repeta aceași poveste
x = y + x <=> x = 6 + 4 = 10
y = 2 * x + 5 <=> y = 2 * 10 + 5 <=> y = 25
Se va afișa 1024
Acuma referința din interiorul variabilei arată spre variabila globală x deci la finalul funcției x va avea valoarea 10 iar y rămâne neschimbat la 6.
Și când afișăm într-un final x și y vom avea 106.