Kezdőoldal » Számítástechnika » Programozás » Ezt miért történik így?...

Ezt miért történik így? Magyarázza el valaki C++ többi lent.

Figyelt kérdés

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 ?


2011. júl. 24. 18:23
 1/7 A kérdező kommentje:
az a esetében először megnöveli a b esetében meg utána de akkor is megnöveli miért marad 39 ? amikor meg még egyszer megcsinálom akkor meg növekszik egyet nem értem:((
2011. júl. 24. 18:26
 2/7 anonim ***** válasza:

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.

2011. júl. 24. 18:31
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

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

2011. júl. 24. 18:31
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
kösz már értem :D
2011. júl. 24. 19:01
 5/7 anonim ***** válasza:
Egyébként ha átlátható, agilis kódot akarsz írni, akkor ezt a módszert nem használod. Praktikusabb a kiíratás előtt növelni a számot, mert úgy később is meg fogod találni, hogy mitől növekszik.
2011. júl. 25. 07:33
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
Utolsó jó tanácsot mondott, mellékhatással járó kóddal óvatosan.
2011. júl. 25. 13:33
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Oké kösz
2011. júl. 26. 16:26

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!