c++实现值的交换

来源:百度知道 编辑:UC知道 时间:2024/09/26 16:31:02
#include<iostream>
#include<iomanip>
using namespace std;
int swap(int x,int y)
{
int z;
z=x;
x=y;
y=z;
}
main()
{
int a,b;
cout<<"请输入两个数"<<endl;
cin>>a>>b>>endl;
swap(a,b);
cout<<"a="<<a<<"b="<<b;
}
程序有错误,无法运行,怎么改正?

应用 指针方法
#include<iostream>
#include<iomanip>
using namespace std;
int swap(int *x,int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
main()
{
int a,b;
cout<<"请输入两个数"<<endl;
cin>>a>>b;
swap(&a ,&b);
cout<<"a="<<a <<"b="<<b;

}

给你做了些修改
#include<iostream>
using namespace std;
void swap(int &x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;
}
int main()
{
int a,b;
cout<<"请输入两个数"<<endl;
cin>>a>>b;
swap(a,b);
cout<<"a="<<a<<"b="<<b;
return 0;
}
你的#include<iomanip>不知道有什么用给删了
然后你的swap()函数是传的值进去
没起到什么作用,
void swap(int &x,int &y)这里改成传的引用,
传引用就相当于指针直接对要传值起作用