标签:面试题
//交换两个变量的值,不使用第三个变量。 //有两种解法, 一种用算术算法, 一种用^(异或) //异或:相同为0,不同为1。相当于减法。 #include <stdio.h> int main() { int a = 8; int b = 9; 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); a = a ^ b; b = a ^ b; a = a ^ b; printf("异或交换:a = %d, b = %d\n",a,b); return 0; }
标签:面试题
原文地址:http://blog.csdn.net/dezhihuang/article/details/44153223