值传递是什么样子的呢
int main(void)
{
int a,b;
...
swap(a,b);
}
int swap(int x, int y)
{
int temp;
temp =a;
a = b;
b = temp;
}
这种方式显然是不可以的,但是初学者很难理解为什么这样不可以。 很多时候 这个时候,很多大神牛人会扶一下眼镜,脸上闪过一丝阴险的骄傲,然后说这是一种值传递方式。
其实这个很好理解,在执行swpa(a,b)时,系统做了这样的一件事,就是
x=a;
y=b;
然后再对x y进行操作
那请问 下面对x y进行的操作 会影响到a b 吗?我想任何一个智商正常的人都知道答案。
这就是为什么值传递不会改变原数值。
这就是值传递,函数中使用的仅仅是原数据的一个拷贝 当然不会影响到原值