just know you are now dealing with undefined behavior in C
So... swapping two variables.
xor swap?
temporary variable?
No, here we play a bit.
... Actually, this would indeed create a variable, but instead of it being an integer, it is an anonymous array. Compound literals moment.