标题:关于C++中引用的问题
只看楼主
大C
Rank: 1
等 级:新手上路
帖 子:20
专家分:2
注 册:2012-12-9
结帖率:80%
已结贴  问题点数:20 回复次数:2 
关于C++中引用的问题
#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
输出为什么颠倒了呢?什么愿意导致的,请各位帮帮忙.
搜索更多相关主题的帖子: namespace 
2013-05-21 17:04
guandekun53
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2013-1-26
得分:10 
加上引用表示把内存中的两个地址中的内容交换了,所以同样是输出a,b后者的值也交换了.
2013-05-21 17:51
ouyangyang
Rank: 2
等 级:论坛游民
帖 子:5
专家分:27
注 册:2013-5-20
得分:10 
&是取地址符,可以认为是对a,b的地址进行操作的,所以a,b的值会互换
2013-05-22 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407645-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.582405 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved