Ha nem érted, nem érted. Nem te vagy barom, hanem amit mondtál, az a baromság. Lényeges különbség, megsértődni felesleges.
Visszatérve a szakmára.
Álljon itt egy idézet. A forrásnál nincs hitelesebb:
Kernighan - Ritchie: A C programozási nyelv - ez a '78-as Prentice-Hall kiadás 85-ös magyar fordítása. Sajnos az eredeti nincs birtokomban, de ez a fordítás igen.
===
A Kernighan-Ritchie könyv 2. 11 pontjában (59. o.) ez áll szó szerint:
2.11 Feltételes kifejezések
Az
if ( a > b )
z = a;
else
z =b;
feltételes utasítás eredményeként z a és b közül a nagyobbik értékét veszi fel. A C-ben a háromoperandusú ?: operátor segítségével az ilyen szerkezeteket sokkal rövidebben leírhatjuk. Legyen e1, e2, e3 három kifejezés. Az
e1 ? e2 : e3
feltételes kifejezésben a gép először e1-et értékeli ki. Ha értéke nem nulla (igaz), akkor e2, egyébként e3 kiértékelése következik, és a kapott érték lesz a feltételes kifejezés értéke. ...
===
Itt egy másik idézet: (62.o)
===
3.1 Utasítások és blokkok:
A kifejezések, pl. x = 0, i++ vagy printf(...) utasítássá válnak, ha pontosvessző követi őket:
x = 0;
i++;
printf( ... );
A C-ben a pontosvessző utasításlezáró jel (terminátor) és nem elválasztó szimbólum, mint az ALGOL-szerű nyelvekben.
===
Peace.