为了账号安全,请及时绑定邮箱和手机立即绑定

应用的意义

最后一个例子,用了&a,&b来应用x,y, 为什么要这样做?fun函数直接用x,y也可以啊?

#include <iostream>
#include<stdlib.h>
using namespace std;

void fun(int x, int y);

int main(void)
{
        int x=10;
        int y=20;
        cout<<x<<y<<endl;
        fun(x,y);
        cout<<x<<y<<endl;
        return 0;
}

void fun(int x, int y)
{
    int c=0;
    c=x;
    x=y;
    y=c;
}

正在回答

2 回答

不用引用的话,你最后的cout打印出来的x,y没有交换,仍然是x=10,y=20;

引用的意义就是可以改变传入的参数的值。

0 回复 有任何疑惑可以回复我~

因为如果直接用的话是在外部并不会实际改变原变量,所以要以指针或引用的方式完成交换函数。

0 回复 有任何疑惑可以回复我~
#1

慕粉3202678 提问者

SORRY,引用我写成应用了,我还是不理解,不用引用也能实现两个数交换的功能啊,我试了一下结果都是一样的。
2016-04-15 回复 有任何疑惑可以回复我~
#2

qq_相伴_0 回复 慕粉3202678 提问者

在调用外部函数不使用引用,或者指针的话在函数体里面交换值后,并不会改变变量本身的值,等函数体结束后,在main函数里面打印X,Y的值会不一样,还是原先的值,并没有改变。
2016-08-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

应用的意义

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信