调用了swap函数,但是不能交换两个参数的值,Y?
发布网友
发布时间:2022-05-20 15:11
我来回答
共2个回答
热心网友
时间:2023-10-30 16:27
//在C中,传值是形参与实参的基本传递方式。将swap的参数改为引用,可以实现交换。
#include <iostream.h>
void swap(int &,int &);
void main()
{
int a=3, b=8;
cout <<"a=" <<a <<", b=" <<b <<endl;
swap(a,b);
cout <<"after swapping...\n";
cout <<"a=" <<a <<", b=" <<b <<endl;
}
void swap(int &x,int &y)
{
int temp=x; //交换两个形参
x=y;
y=temp;
}
热心网友
时间:2023-10-30 16:27
在 swap中交换了两个数的值 但是在返回的过程中把值给释放了
所以主函数中的a,b的值没有换
要交换a,b的值话用指针或者引用。