c++菜鸟错误笔记3关于传值与引用的问题

  • Post author:
  • Post category:其他


错误例子:

#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;




}



版权声明:本文为xgmll原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。