Das ist C++, nicht C.
Glaub mir doch, GCC hat dafür sogar eine Warnung:
Code:(strflw@air) ~> gcc -o testr testr.c -Wall /Users/strflw/test.c:1:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main(){ ^ /Users/strflw/test.c:3:11: warning: multiple unsequenced modifications to 'i' [-Wunsequenced] return i++ + ++i; ^ ~~ 2 warnings generated.