函数是实参到形参的从传递,有俩种方式,1.第一种是传值,也就是传送变量中的数据.2.第二种传址,也就是传递地址,拿到地址之后就可以对原数据做修改.
一般错误的做法如下:
viod swap(int x, int y)
{
int c = 0;
c = x;
x = y;
y = c;
这种做法是错误的,它没有真正改变实际参数的量,只是改变了形式参数的值
正确的做法
void swap1(int *p1, int *p2)
{
int c = *p1;
*p1 = *p2;
*p2 = c;
}
其实实现俩个数的交换的方法比较合理的应该是
int a = 5, b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;