flysky1027 发表于 2007-5-21 12:57:28

面试时候的一道题目?

面试的时候遇到的一道题目,觉得很好玩,和大家一起分享一下,希望能得到更多的结果。

在不使用第三个变量的前提下,编写一个函数,使两个变量的值进行交换?

希望大家有不同的思路解决

lonetan 发表于 2007-5-21 13:35:42

变量是什么类型的
如果是数值型的可以这样
function swith(int &a ,int &b)
{
b=a+b;
a=b-a;
b=b-a;
}

wangzhen 发表于 2007-5-21 15:27:17

楼上所言即是

kolecat 发表于 2007-5-21 15:42:52

今年很流行这个面试题么?怎么楼主也遇到了

seifer1754 发表于 2007-5-21 21:29:41

采用位运算

void swap(int x, int y)
{
x = x^y;
y = x^y;
x = x^y;
}

apl137 发表于 2007-5-21 21:57:36

lonetan 正确

Lovealice 发表于 2007-5-21 23:56:12

老题目了

lovefei1027 发表于 2007-5-22 18:36:59

今年好像流行这个

hbjfx 发表于 2007-5-22 19:11:06

a=a+b
b=a-b
a=a-b

qiubole 发表于 2007-5-23 13:33:41

我来说两句

perl
(a, b)=(b,a)
页: [1]
查看完整版本: 面试时候的一道题目?