It seems sizeof is not a real function?
for example, if you write like this:
int i=0; printf(\"%d\\n\", sizeof(++i)); printf(\"%d\\n\", i); >
int i=0; printf(\"%d\\n\", sizeof(++i)); printf(\"%d\\n\", i);
It is replaced with the constant (4 in your case) at compile time. Because it takes 4 bytes to hold an int on your platform.
And your code will not compile, instead of giving you any output ;-) Because of sizoef ;-)
sizoef