There's no trick question if the language isn't tricky to begin with
github.com
github.com
I suppose you could argue that an acceptable way to learn a language is to try some code in the interpreter/compiler and see what it does. If that language and its behaviors are guaranteed to be consistent across all implementations, that might work. But, I don't think any of the mentioned languages fit the bill.
I doubt you can ever really answer a question like this by trying it to see what happens. It doesn't matter what language you're using; you have to know the rule. Even if the answer is "undefined," that doesn't make it a trick question.
C has two things, an expression, and a statement, and you cannot compute the value of a statement by evaluating its sub-expressions in a defined order. trying it out in the interpreter or compiler is dangerous with an undefined result, because you could get one result today and another tomorrow.
It’s a “trick” in the sense that the simplest explanation of what should happen is not what happens.