请教C语言的一个问题

一个让我不解的问题,斗胆发在首页,请见谅 

#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?

posted on 2010-03-09 13:04  还是刀哥靠谱  阅读(239)  评论(3编辑  收藏  举报

导航