fun(int a,int *p)参数a没有带地址运算,所以a的值在函数结束后是不变的.
a=1,b=2,c=0--------c=fun(a,&b)
{ a++;----------------->这里的a=2,主函数的a任然为1
*p=a+1;------------->p为b地址的指针,b改变,*p=b=3
return (*p+a)--->返回值赋值给c,c=5 }
a=1,b=3,c=5--------b=fun(c,&a)
{ a++;----------------->a=6,主函数的c任然为5
*p=a+1;------------->p为a地址的指针,a改变,*p=a=7
return (*p+a)--->返回值赋值给b,b=13 }
a=7,b=13,c=5--------a=fun(b,&c)
{ a++;----------------->a=14,主函数的b任然为13
*p=a+1;------------->p为c地址的指针,c改变,*p=b=15
return (*p+a)--->返回值赋值给a,a=29 }
结果:a=29,b=13,c=15