第二个传递的是地址,数组名表示的就是数组的首地址,所以形参 char a[] 其实就是 char *a
将实参的地址赋值给 a了,所以形参改变了,实参也改变了。
这就相当于 int aint *p =&a 如果 *p发生了变化,a的值也跟着发生变化。
#include<stdio.h>int main()
{ int a,b,t
scanf("%d%d",&a,&b)
printf ("a=%d b=%d\n",a,b)
t=a
a=b
b=t
printf ("a=%d b=%d\n",a,b)
return 0
}