乐鱼电竞

  • 教育行业A股IPO第一股(股票代码 003032)

    全国咨询/投诉热线:400-618-4000

    轻松学习C语言系列-交换两个变量值的多种方式

    更新时间:2016年03月29日17时06分 来源:乐鱼播客 浏览次数:

      提到交换两个变量的值,一般对编程有所了解的人最先想到的就是借助于一个中间变量。

      假设现在有两个变量

      int a = 3;int b = 4;

      那么借助中间变量的交换代码如下:

      int tmp = a; // tmp = 3

      a = b; // a = 4

      b = tmp; // b = 3

      如果不借助中间变量,怎么去交换两个变量的值呢?

      这里先给大家介绍一种方式,代码如下:

      a = a + b; //a = 7

      b = a - b; //b = 3

      a = a - b; //a = 4

      这种方法也实现了变量a,b值的交换,思考一下,上面这种方法有什么缺陷吗?

      对,有缺陷!!!

      为什么呢?

      因为int数据所有存放的数据范围是有限的,如果a+b的值大于int类型的数据范围,那么就会出现数据溢出的情况。

      那么还有没有其他方法来交换变量a,b的值呢?

      你又猜对了,有!!!请看如下代码:

      a = a^b;

      b = a^b;

      a = a^b;

      第三种方式,可以正确交换变量a,b的值,既不用借助于中间变量,又不会发生数据溢出的情况,所以小伙伴们,你们明白了吗?

    0 分享到:
    和我们在线交谈!
    【网站地图】【sitemap】