slightly OT: c expression evaluation order