请教一个关于c++函数值传递的问题
#include<iostream>using namespace std;
void swap(int a , int b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int x=5,y=10;
cout<<"x="<<x<<"y="<<y<<endl;
swap(x,y);
cout<<"x="<<x<<"y="<<y<<endl;
return 0;
}
运行程序 结果 是
x=5y=10
x=5y=10
说明函数调用时传递的是实参的值 单向传递
但 我要是先写主函数 然后再定义swap函数结果就是
x=5y=10
y=10x=5
如果我在主函数中声明一下函数
结果就又回去了
请问谁知道这是怎么一回事啊