#include <iostream>
using namespace std;
void swap(int,int);
int main()
{
int x=3,y=4;
cout<<“在main函数中,调用swap函数之前,x的值为”<<x<<endl;
cout<<“在main函数中,调用swap函数之前,y的值为”<<y<<endl;
swap(x,y);
cout<<“在main函数中,调用了swap函数之后,x的值为:”<<x<<endl;
cout<<“在main函数中,调用了swap函数之后,y的值为:”<<y<<endl;
}
void swap(int x, int y)
{
int z;
z=x;
x=y;
y=z;
}
错误原因:传值函数只能传值,不能调换。引用函数可以传值,也可以调换
修改之后的例子:
#include <iostream>
using namespace std;
int x=3,y=4;
void swap(int &x,int &y);
int main()
{
cout<<“在main函数中,调用swap函数之前,x的值为”<<x<<endl;
cout<<“在main函数中,调用swap函数之前,y的值为”<<y<<endl;
swap(x,y);
cout<<“在main函数中,调用了swap函数之后,x的值为:”<< x<<endl;
cout<<“在main函数中,调用了swap函数之后,y的值为:”<< y<<endl;
}
void swap(int &x , int &y)
{
int z;
z=x;
x=y;
y=z;
}