C- "jednoduchá aritmetická operace"
Dobrý den
Při programování jsem narazil na kód:
int a = 5;
int b = 3;
int c = a++ + --b + ++a - ++b;
Chtěl bych se zeptat, jak bych měl postupovat, když bych to měl řešit na papíře?
Děkuji
Dobrý den
Při programování jsem narazil na kód:
int a = 5;
int b = 3;
int c = a++ + --b + ++a - ++b;
Chtěl bych se zeptat, jak bych měl postupovat, když bych to měl řešit na papíře?
Děkuji
Předmět | Autor | Datum |
---|---|---|
int a = 4;
printf("a=%d\n", ++a);
printf("a=%d\n", a++);
printf("a=%d\n", a);
4
4
5
a++ je postincre… bahno - jinde 12.01.2012 20:36 |
bahno - jinde | |
a mam to blbe
ma tam bejt jenom +6, ne 7, protoze to pricteni 1 se provede az po. Takze deset. Kdyby… bahno - jinde 12.01.2012 20:40 |
bahno - jinde | |
no, takze mame jasno preco to vychadza 10 :D cize a++ (inkrementacia sa spravi az po dokonceni celeh… nový wam_Spider007 12.01.2012 20:42 |
wam_Spider007 | |
V první řadě, bych jemně proplesknul toho, co to napsal...:-) nový MaSo 12.01.2012 20:49 |
MaSo | |
Toto je asi najlepšia odpoveď, pretože výsledná hodnota je nedefinovaná a závisí od konkrétneho prek… nový los 14.01.2012 21:58 |
los | |
to je jak curat proti vetru a tvarit sa pri tom hrozne vedecky. poslední MM.. 14.01.2012 22:10 |
MM.. |
Zpět do poradny Odpovědět na původní otázku Nahoru
int a = 4;
printf("a=%d\n", ++a);
printf("a=%d\n", a++);
printf("a=%d\n", a);
4
4
5
a++ je postincrement - nejdriv se hodnota pouzije a pak se zvetsi.
++a je preincrement - hodnota je nejdriv zvetsi a pak pouzije
tj
5+2+7-3=11
a mam to blbe
ma tam bejt jenom +6, ne 7, protoze to pricteni 1 se provede az po. Takze deset. Kdyby to ale bylo na dvou radkach, bylo by to 11.
no, takze mame jasno preco to vychadza 10 :D cize a++ (inkrementacia sa spravi az po dokonceni celeho priradenia) ... ale preco to vo visual studiu vychadza 12?
V první řadě, bych jemně proplesknul toho, co to napsal...
Toto je asi najlepšia odpoveď, pretože výsledná hodnota je nedefinovaná a závisí od konkrétneho prekladača.
to je jak curat proti vetru a tvarit sa pri tom hrozne vedecky.