Ezt miért történik így? Magyarázza el valaki C++ többi lent.
Nem értem ezt az egészet hiába van róla normális leírásom nem bírom megérteni már tönkre tesz idegileg :(
#include<iostream>
int main()
{
int a = 39; //értékek baállítása
int b = 39;
std::cout <<"a:" << ++ a <<"\n";
std::cout <<"b:" << b ++ <<"\n";
std::cout <<"a:" << ++ a <<"\n";
std::cout <<"b:" << b ++ <<"\n";
system("pause>>void");
return 0;
}
ez a kimenet:
a:40
b:39
a:41
b:40
Miért nem növekedik a kimenetben a b először,miért marad 39 mikor az is növelve van másodszorra meg növekszik egyet.:( nem értem.
a b esetében mi történik ?
a memóriában ott van az a szám, és ha a ++ a változó előtt van, akkor a kiolvasás előtt történik az értéknövelés, ezért már a megnöveltet olvassa ki,
ha utána van, akkor meg kiolvasás után növeli cska meg, ezért még a régit írja ki.
a b++ csak a lefutás után (vagyis miután megkaptad az értéket) fogja növelni a b értékét eggyel.
Tehát:
b = 2;
b++ = 2
b = 3
ha azt akarod, hogy ott helyben növekedjen az érték, akkor ++b használj, vagy pedig b = b + 1 vagy b += 1
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!