本帖最后由 雪寒 于 2014-11-4 19:39 编辑  
 
    int a = 1,b = 2; 
大家可以用几种方法来交换a、b的值呢?我总结了三种方法,与大家共享。- #include <stdio.h>
 
 - int main()
 
 - {
 
 -         //第一种方法:通过引入第三个变量
 
 -         int a = 1,b=2;
 
 -         printf("第一种方法\n");
 
 -         printf("交换前:a = %d,b = %d\n",a,b);
 
 -         int temp;
 
 -         temp = a;
 
 -         a = b;
 
 -         b = temp;
 
 -         printf("交换后:a = %d,b = %d\n",a,b);
 
  
-         //第二种方法:通过加减运算
 
 -         a = 1;
 
 -         b = 2;        
 
 -         printf("第二种方法\n");
 
 -         printf("交换前:a = %d,b = %d\n",a,b);
 
 -         a = b - a;
 
 -         b = b - a;
 
 -         a = b + a;
 
 -         printf("交换后:a = %d,b = %d\n",a,b);
 
  
-         //第三种方法:通过异或运算
 
 -         a = 1;
 
 -         b = 2;
 
 -         printf("第三种方法\n");
 
 -         printf("交换前:a = %d,b = %d\n",a,b);
 
 -         a = a ^ b;
 
 -         b = a ^ b;
 
 -         a = a ^ b;
 
 -         printf("交换后:a = %d,b = %d\n",a,b);
 
 -         return 0;
 
 - }
 
  复制代码 运行结果:第一种方法 
交换前:a = 1,b = 2 
交换后:a = 2,b = 1 
第二种方法 
交换前:a = 1,b = 2 
交换后:a = 2,b = 1 
第三种方法 
交换前:a = 1,b = 2 
交换后:a = 2,b = 1 
 
 
 
 
 |