然后执行b=func(c,&a); a=9,c=6,b=16,
这一步的a=9,c=6,b=16是怎么得来的?
我怎么是c=6,a=4(因为a=*p=2+2),b=8 ?
这一步的a=9,c=6,b=16是怎么得来的?
我怎么是c=6,a=4(因为a=*p=2+2),b=8 ?
#include <stdio.h>
int func(int a,int *p);
void main()
{
int a=1,b=2,c;
c=func(a,&b); printf("a=%d,b=%d,c=%d\n",a,b,c);
b=func(c,&a);printf("a=%d,b=%d,c=%d\n",a,b,c);
a=func(b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);
}
int func(int a,int *p)
{
a++;
*p=a+2;
return(*p+a);
}
为什么我这样加了红色的语句
运行结果却是:
a=6,b=1,c=4
a=16,b=9,c=16
a=36,b=16,c=19
请高手指点!