swap函数的设计

   在编程的过程我们可能会遇到交换两个变量的值,有些人在编写交换函数的时候,会出现一种无法交换的情况,其根本原因就是因为没有注意到传值跟传地址的差别,误以为只要改变变量的值就会使得地址中的值改变,其实这是不正确的,如下程序所示:

    

#include <iostream>

void swap(int ,int );
int main()
{
    int a = 3;
    std::cout << a<< std::endl;
    swap(a,a+1);
    std::cout << a<< std::endl;
    return 0;
}

void swap(int a,int b)
{
    a=b;
    std::cout<<a <<std::endl;

}
     我们猜猜结果会是什么?因为啥会产生这样的结果。

     

           大家可以看到并没有交换成功,出现了一种意外的情况,这个时候我们打印其地址值看一下

          

#include <iostream>

void swap(int ,int );
int main()
{
    int a =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值