swap( int* p1,int* p2 )
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
main()
{
int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=*a;pointer_2=&b;
if(a<b)swap(pointer_1,pointer_2);
printf("\n%d,%d\n",a,b);
}
1:不是值传递吗,既然是值传递,为什么a,b的值改变了?2:还有个疑问就是实参是pointer_1,pointer_2但是swap函数中的形参却是*p1,*p2,这是为什么?能说的详细点吗?或者是举个形象的例子。
谢谢。