标题:[求助]调用这个函数为什么要用"&"运算符?
只看楼主
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
 问题点数:0 回复次数:5 
[求助]调用这个函数为什么要用"&"运算符?

#include <iostream>
using namespace std;

void change(int &x,int &y) //这儿要是写成int x,int y的话,
{
int temp;
temp=x;
x=y;
y=temp;
}

void sort(int &i,int &j,int &k) //还有这儿写成int i,int j,int k的话,那么相当于本两个地方的函数根本没起作用,
{ 可以告诉我为什么吗?(相当于没有调用)
if(i>j)change(i,j);
if(i>k)change(i,k);
if(j>k)change(j,k);
}

int main(){
int a,b,c;
cout<<"请输入三个数:"<<endl;
cin>>a>>b>>c;
sort(a,b,c);
cout<<a<<"<"<<b<<"<"<<c<<endl;
}

不很明白,谢谢指教

[此贴子已经被作者于2006-10-23 14:34:50编辑过]

搜索更多相关主题的帖子: int 运算符 函数 temp 
2006-10-23 14:34
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
得分:0 

应该看看指针引用那节


我不是随便的人,我随便起来不是人.... http://majia775.
2006-10-23 17:18
gahddd
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-9-19
得分:0 

顶一下,我也看不懂,望高人指点。

指针还可以这样用吗?


俺从乡下来,俺啥也不懂。
2006-10-23 18:13
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 

返回void 所以需要传入的是他的本身才能有作用


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-23 18:16
xowangqwei
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-21
得分:0 
C++的引用
函数void change(int &x,int &y) 用int &来传递引用。得到的是x和y的存放的地址值
其实C++中用 & 来定义变量的别名,如int &x=y;并非重新定义一个整形变量x( 编译器并未给x分配一个整形的存储空间),而仅是给y定义了一个别名,在以后的操作中,y都可用x来替代,x发生了变化,y的值也跟着变化。故change函数调用的结果中x和y都发生了变化。

推荐一本书:C++编程思想
2006-10-23 18:51
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
得分:0 
去看了看指针引用那那,有点感悟,谢啦

努力,努力吧,未来的天空,那一片湛蓝总会属于我的~
2006-10-24 09:32



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




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

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