as we know ++i means a pre-increment of i
the line inside the sizeof command reads: ++i + ++i.
Now it gets tricky: i = 3
if you were to look at the above seperately you'd end up with
++i (which is 4) + ++i (which is 5) for a total of 9.
Now that's inside a 'sizeof'.. sizeof(9) is basically
saying, what's the size of an int, which is basically 4 bytes nowadays
so initial thought (and half points

) is i=5 and J = 4
However the trick here is that sizeof is not a normal method.
it's a
compile time method so the ++i + ++i never gets ran before it
calculates the size and in code it basically ends up with: sizeof(int)
thus the final answer actually becomes: I=3 and J=4
You'd have to have known sizeof is a compile-time method to get to that answer
