Mi a különbség a c-ben az i++ és a ++i között?
Önmagában semmi. (Bár állítólag kicsit más kódot generál, de ugyanazt csinálja.) Megnöveli i értékét eggyel.
A különbség akkor van, ha nagyobb kifejezésben használod. Pl:
i=1; a = ++i + 10
i=1; b = i++ + 10
Az első esetben először növeli i értékét, utána használja fel a kiértékeléshez.
Vagyis a=2+10 lesz.
A második esetben először felhasználja i értékét, tehát
b=1+10
és csak utána növeli meg i-t.
i mindkét esetben 2 lesz, de a számításnál először i megnövelt értékét használja, másodszor meg az eredeti értéket, és utána növeli meg.
Vagyis:
Az elsőnél növeli i-t, utána számolja a-t,
a másodiknál kiszámolja b-t, és utána növeli meg i-t.
A Két utasítás más sorrendben hajtódik végre.
post increment (i++) és pre increment (++i)
Egy példa:
int i=0;
cout<<T[i++] // kiírja a T tomb 0-edik elemét majd megnöveli az i-t 1-re.
cout<<T[++i] // először megnövel az i-t 1-re, majd kiírja a tomb 2. elemét (1-es indexű elemet)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!