一个让我不解的问题,斗胆发在首页,请见谅
#include <stdio.h>
int main()
{
int i = 1;
int a , b;
a= (i++) + (i++) + (i++);
i = 2 ;
b = (++i) + (++i) + (++i);
printf("a=%d,b=%d",a,b);
return 0;
}
unix gcc 4.2.1的结果为 a=3,b=13
TC2, VS 2008 的结果为 a=3,b=15
C#,PHP的结果为a=6,b=12(C#、PHP只需要main()里的语句)
不解的是GCC和TC、VS对于 int b 的运算结果为什么不一样,为什么是13和15?