( Zahy | 2021. 04. 08., cs – 20:21 )

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.