交换两个变量的值( 不可以使用中间变量 )

来源:互联网 发布:linux系统编程 pdf 编辑:程序博客网 时间:2024/05/16 19:37
  不允许任何中间变量来交换两个变量的值:例如num1=5,num2=6

    其实这一题也是很简单的:提供两种方法:

    

    1. 使用普通运算

       num1 +=num2;       //!保留2个数的和

       num2 = num1 - num2; //! num2此时的值是之前num1的值

        num1= num1 - num2; //!此时的num1是两个数之和减去之前num1值即num2值

 

   2. 使用位运算:

      num1 = num1 ^ num2;
      num2 = num1 ^ num2;
      num1 = num1 ^ num2;

 

   献给自己:告诫自己不要小看任何一题,认真思考,玄机万千、、、

   

 


原创粉丝点击