搞一个临时变量直接交换
int t = a;
a = b;
b = t;
异或运算交换两个数
*begin ^= *end;
*end ^= *begin;
*begin ^= *end;
写成一句:
*begin ^= *end ^= *begin ^= *end;
java:
a = (b ^= a ^= b) ^ a;
运算交换
a=a+b;b=a-b;a=a-b;
void reverse_by_std(char* str, int n)
{
std::reverse(str, str + n);
}
关于两个变量值互换问题
参考文章:
陈硕 (用异或来交换两个变量是错误的) : http://blog.csdn.net/solstice/article/details/5166912
与
RednaxelaFX (又一面试题,又一伪命题) : http://rednaxelafx.iteye.com/blog/134002

1550

被折叠的 条评论
为什么被折叠?



