Răspuns :
Răspuns:
Valoarea afisata este 8.
Explicație:
In primul rand sa declaram matricea complet:
int tab[][3]={
{1,7,0},
{2, 8, 9},
{3,0,0},
{4,5,6}
};
Si sa intelegem ce inseamna de fapt tab+3.
Nu asa e stocata matricea in memorie dar ne ajuta sa vedem ce intelege compilatorul.
Cand spunem tab, compilatorul intelege adresa lui AR0:
(pe primul rand valori, pe al 2-lea adrese)
\/\/\/\/
AR0, AR1, AR2, AR3, AR4, ...., AR(n-1), ....
tab+0, tab+1, tab+2, .........................., tab+n-1,....
/\/\/\/\
Unde ARi inseamna adresa primului element de pe randul i al matricii.
Deci cand spunem tab+3, ne referim la adresa lui AR3(randul 4 al matricii):
t = tab+3 sau &tab[3]; (adresa lui AR3)
Pentru prima iteratie avem:
i = 0
Deci 1-i = 1
*t = tab[3] -> (*t)[1-i] = tab[3][1] = 5
v = 0 + 5 = 5
Acum t este decrementat:
t = tab+2 sau &tab[2] (adresa lui AR2)
Pentru a 2-a iteratie:
i = 1
Deci 1 - i = 0
*t = tab[2] -> (*t)[1-i] = tab[2][0] = 3
v = 5 + 3 = 8
t este decrementat:
t = tab+1 sau &tab[1];
For-ul se termina, si in final valoarea variabilei v este 8.
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.