交换两个数的值

  入门c语言的时候都做个一个这样的题目:两个为int类型的变量a,b,交换a和b的值。

  第一种解法大家都知道,

      {temp = a;

       a = b;

      b = temp;

      }

    这种方法最容易想到,最简单,而且在未来编程的时候,也尽量使用这种方法,这样别人一看就知道你实现的功能,很友好。

  第二种解法,第二种和第三种解法都没有借助除了a,b之外其他的变量

      a = a+b;

      b = a - b;

      a = a - b;

    这种解法看起来也不复杂,先求和赋值给a,再利用a减b。不过这种方法有个缺陷,当a和b比较大时,a+b会发生溢出。  

  第三种解法,这种解法就比较高大上了

      a = a ^ b;

      b = a ^ b;

      a = a ^ b;

    这里运用了一个方法,就是一个数对另一个进行两次或运算时,会等于这个数本身。利用这个特性也可以用来加密,叫做对称加密,公钥和私钥都是一样的。 

    要想学好编程,码吧,能力都是动手得来的!!!

猜你喜欢

转载自www.cnblogs.com/liubenwei/p/9108385.html