我之前一直不理解传值调用到底有什么用,形参改变,但不影响实参,改变了的形参在主函数中又会被销毁,那改变了的形参有什么用?
研究了一下,得出了它的用法
1、它相当于把一个函数复制了,原来函数不改变,它可以在复制了的函数这里进行各种操作,然后reture 操作后的值,作为被调函数的值,这样,主函数里面原来的变量没有改变,又可以输出操作后的值。
(保护数据:把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。)
#include <iostream>
using namespace std;
int swap(int a, int b)
{
int n;
a=2;b=3;
n=a+b;
return n;
}
int main( )
{
int a(4), b(5),n; //等价于int a=4, b=5;
cout<<swap(a, b)<<endl;
n=a+b;
cout<<n<<endl;
return 0;
}
输出结果是5
9
不管被调用函数和主函数定义的符号是不是相同的,都不会影响,两个是不同的值。