您的位置:首页 > 编程语言 > C语言/C++

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

2013-03-13 21:36 316 查看
错误例子:

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: