标题: 交换两个变量的值 [打印本页] 作者: 非洲小孩 时间: 2016-4-23 08:55 标题: 交换两个变量的值 入学考试的复习
常规的方法就是设置一个第三方变量
int a,b,temp;
temp = a;
a = b;
b = temp;
如果不允许设置第三方变量怎么办?
int a,b;
a = a + b;
b = a - b;
a = a - b;
这是昨天复习学的,打一下当心忘记了作者: a_skting 时间: 2016-4-23 11:16
按位异或可以交换变量。a = a ^ b; b = a ^ b; a = a ^ b;作者: huangyueqil 时间: 2016-4-24 22:06
两数相加再相减比较好理解,按位异或不太好理解作者: chenbin19930916 时间: 2016-4-27 20:58
可以的兄弟···作者: zhoushangpeng 时间: 2016-4-27 23:11
两数相加不是说最好别用了么,如果两数之和超过了int的范围,需要用到强转,而强转容易丢失数据。所以^这个是面试必备啊作者: hmjavaqinchi 时间: 2016-4-28 03:20
int a,b,temp; 作者: hmjavaqinchi 时间: 2016-4-28 03:22
p = a; a = b; b = temp; int a,b; a = a + b; b = a - b; a = a - b;作者: 胡健cc 时间: 2016-4-28 21:53
可以可以,加油作者: NeXtyin 时间: 2016-5-2 17:38
很不错、作者: 番茄君 时间: 2016-5-3 00:10
我刚学了这个不就,其实用临时变量是企业开发时推荐的用法,简单方便明了,还有就是用亦或的方法,那个不好理解,但听说面试都是用亦或.这个你了解一下就可以了作者: TGII 时间: 2016-5-3 00:28
还有一个用异或的