返回目录
已知两数a 和 b,交换它们的值,是在学 C 语言赋值操作时讲到的一个问题。它算是比 HelloWorld 复杂一点的问题,解法有很多。
伪码如下:
tmp = a; a = b; b = tmp;
如果是数值类型,还可以不通过中间变量交换两数,伪码如下:
a = a + b; b = a - b; a = a - b;
更进一步,如果是整型变量,还可以通过位运算来完成交换两数的交换,伪码如下:
a ^= b; b ^= a; a ^= b;
参: