该程序运行结果不一样

//gcc编译运行的结果是3,3;;vs2010编译运行结果是4,4。
#include <stdio.h>
int main()
{
int a = 0, *p;
p = &a;
*p = 3;
a = (*p)++;
printf("%d,%d\n", a, *p);
}

* p =3 使得a的值为3
a = ( * p)++,分为两个步骤
a = ( * p) ---- a还是3
( * p) = ( * p) + 1 ---- * p就是 a,a的值加1为4