👤

Imi puteti explica pas cu pas exercitiul?! Multumesc anticipat

Imi Puteti Explica Pas Cu Pas Exercitiul Multumesc Anticipat class=

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.


Wix Learning: Alte intrebari