首页 > 其他 > 详细

不用中间的变量交换A和B的值(摘)

时间:2017-10-31 18:05:00      阅读:285      评论:0      收藏:0      [点我收藏+]

1、加减法:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失

a = a + b;

b = a - b;

a = a - b;

2、异或法:可以完成对整型变量的交换,对于浮点型变量它无法完成交换。

a = a^b;

b = a^b;

a = a^b;

3、乘除法:可以处理整型和浮点型变量,但在处理浮点型变量时也存在精度损失问题。而且乘除法比加减法要多一条约束:b必不为0。

a = a * b

b = a / b

a = a / b

 

#include<stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    //方法一:
    a = a + b;
    b = a - b;
    a = a - b;
    //方法二:
    a = a * b;
    b = a / b;
    a = a / b;
    //方法三:
    a = a^b;
    b = a^b;
    a = a^b;
    printf("a = %d\t,b =%d\n",a,b);
    return 0;
}

  

不用中间的变量交换A和B的值(摘)

原文:http://www.cnblogs.com/oralig/p/7762619.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!