Nézzük másik oldalról!
Pl. a function(x,--x) bizony nem a -- operátor precedenciájáról szól, hanem side effectnek hívják. Általában a C fordítók tiltják az ilyen megfogalmazást.
Szerintem ilyen agyalás helyett azt kéne írni a programba, amit szeretnél csinálni! Igaz, akkor nem lehetne beszélgetni róla. ;)
Gondolom, azért jutnak ilyenek az eszedbe, mert assemblerisztikusan gondolkozol. :-D
Ha az alábbi módon írod le, akkor sokkal olvashatóbb és nincsenek kérdések. És hidd el, egy mai C fordító ugyanazt a kódot fogja előállítan!
if ( ptr != NULL )
if ( *ptr > 0 )
{
*ptr--;
if ( *ptr == 0 )
timeout();
}