关于值传递(高手请无视)

值传递是什么样子的呢 

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 吗?我想任何一个智商正常的人都知道答案。

这就是为什么值传递不会改变原数值。

这就是值传递,函数中使用的仅仅是原数据的一个拷贝 当然不会影响到原值

原文地址:https://www.cnblogs.com/thecatcher/p/5750691.html