注册 登录
编程论坛 VC++/MFC

关于C++中引用的问题

大C 发布于 2013-05-21 17:04, 530 次点击
#include<iostream>
using namespace std;
void f(int m,int n)
{
int temp;
temp=m;
m=n;
n=temp;


}
int main()
{
int a=5,b=10;
f(a,b);
cout<<a<<" "<<b<<endl;
return 0;



}
输出是:5 10
#include<iostream>
using namespace std;
void f(int &m,int &n)//加上引用&
{
int temp;
temp=m;
m=n;
n=temp;


}
int main()
{
int a=5,b=10;
f(a,b);
cout<<a<<" "<<b<<endl;
return 0;



}
输出为:10 5
输出为什么颠倒了呢?什么愿意导致的,请各位帮帮忙.
2 回复
#2
guandekun532013-05-21 17:51
加上引用表示把内存中的两个地址中的内容交换了,所以同样是输出a,b后者的值也交换了.
#3
ouyangyang2013-05-22 11:52
&是取地址符,可以认为是对a,b的地址进行操作的,所以a,b的值会互换
1