int d=1;
fun(int p)
{ int d=5; d+=p++; printf("%d",d);}
main()
{ int a=3; fun(a); d+=a++; printf("%d",d); }
fun(a),即fun(3),函数fun内又定义了变量d,和全局变量d重名。后续函数内的变量d是就近原则,即为函数内部的d,与全局变量d无关,d+=p++是先执行d+=p,所以d=8,然后p加上1。因此输出为8
main函数随后d+=a++,这里的d是全局变量d,值为1,执行d+=a,使得d=4,然后a再加1。输出为4