码迷,mamicode.com
首页 > 其他好文 > 详细

交换两个变量的值,不使用第三个变量(两种方法)

时间:2015-03-09 12:51:24      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:面试题

//交换两个变量的值,不使用第三个变量。
//有两种解法, 一种用算术算法, 一种用^(异或) 

//异或:相同为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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!