Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zašto je u funkciji ova promjena

[es] :: C/C++ programiranje :: Zašto je u funkciji ova promjena

[ Pregleda: 1142 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

azzpoz

Član broj: 300637
Poruke: 96



+1 Profil

icon Zašto je u funkciji ova promjena06.06.2013. u 12:05 - pre 81 meseci
Code:
int polazna ( int broj, int brojac = 0)
{
   if (brojac == 5) return 1;
return 1+polazna(broj,++brojac);

}

MAIN: 
int broj = 5;
int broj2 = polazna(broj,0);



Interesuje me zašto se povećava brojač, ako smo ga inicijalizovali na početku funkcije vrijednošću ( 0 )?!
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1224



+92 Profil

icon Re: Zašto je u funkciji ova promjena06.06.2013. u 12:24 - pre 81 meseci
Povećava se zbog ovog ++brojac. Ovo ++ je operator uvećavanja broja za jedan. Pošto stoji ++brojac onda je rezultat operacije brojac+1 (prvo se izvrši inkrementriranje, pa se onda gleda rezultat). Da je stajalo brojac++ (sa desne strane, umesto sa leve) onda bi rezultat operacije bila prethodna vrednost promenljive brojac, ali bi ipak brojac bio uvećan za jedan.
 
Odgovor na temu

azzpoz

Član broj: 300637
Poruke: 96



+1 Profil

icon Re: Zašto je u funkciji ova promjena06.06.2013. u 12:54 - pre 81 meseci
Npr. kad je brojac = 3, zašto ne dobija vrijednost ( 0 ), kao što je i napisano int brojac=0?
Zar ne bi uvijek trebao tu vrijednost primiti?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1224



+92 Profil

icon Re: Zašto je u funkciji ova promjena06.06.2013. u 13:06 - pre 81 meseci
Zato što je to samo podrazumevana vrednost koju će kompajler da ubaci ako je ti izostaviš. Ako pozivaš funkciju polazna(x) onda je drugi parametar 0, ali ako je pozivaš polazna(x, y) onda je drugi parametar y.

Nema preterane koristi od parametra koji uvek ima istu vrednost.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Zašto je u funkciji ova promjena

[ Pregleda: 1142 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.