2:如果传递的是地址呢?- #include <stdio.h>
- //值传递传地址
- void swap( int *x, int *y);
- int main()
- {
- int a=2,b=3;
- printf("before:实参为&a,&b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,&a,b,&b);
- swap(&a,&b);
- printf("after:实参为&a,&b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,&a,b,&b);
- return 0;
- }
- void swap(int *x,int *y)
- {
- int *tmp= NULL;
- tmp=x;
- x=y;
- y=tmp;
- printf("inside:形参为*x,*y\n*x=%d,x=%d,地址为%d\n*y=%d,y=%d,地址为%d\n\n",*x,x,&x,*y,y,&y);
- }
执行结果:
|