A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 诺微_ 中级黑马   /  2014-11-28 00:33  /  581 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

交换两个变量的值——3中方法(代码如下)
  1. /*
  2. 交换两个变量的值
  3. */

  4. #include <stdio.h>

  5. int main()
  6. {

  7.     int a = 10;
  8.    
  9.     int b = 20;
  10.    
  11.     printf("交换前:a=%d,b=%d\n", a, b);
  12.    
  13.     /*
  14.     // 方法一:利用第三方的变量temp(开发中一般还用此方法,阅读性好)
  15.    
  16.     int temp = a;
  17.     a = b;
  18.     b = temp;
  19.    
  20.     printf("交换后:a=%d,b=%d\n", a, b);
  21.      */
  22.    
  23.     /*
  24.     // 方法二:不利用第三方变量
  25.     a = b - a;
  26.     b = b - a;
  27.     a = b + a;
  28.    
  29.     printf("交换后:a=%d,b=%d\n", a, b);
  30.     */
  31.    
  32.     // 方法三:不利用第三方变量(利用异或^)
  33.    
  34.     //
  35.     a = b ^ a;
  36.     b = b ^ a; // b = b ^ a = b ^ (b ^ a) = a
  37.     a = b ^ a; // a = b ^ a = a ^ (b ^ a) = b
  38.    
  39.     printf("交换后:a=%d,b=%d\n", a, b);
  40.    
  41.     return 0;
  42. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马