交换两个变量的值是一个语言学习入门时的经典问题,正巧笔者最近在同时学习C和MATLAB,因此将Python、C、Matlab三种语言使用函数来交换两个变量值的代码放在一起进行比较。
为什么要限定必须使用函数呢?因为如果可以不用函数,Python当然是最简单的:x , y = y , x
话不多说,直接上代码:
Python版:(个人认为也是最简洁的版本)
def swap(x, y):
return y, x
if __name__ == "__main__":
x, y = 3, 5
print("x == {} y == {}".format(x, y))
x, y = swap(x, y)
print("x == {} y == {}".format(x, y))
C版:
#include <stdio.h>
void swap(int * a, int * b)
{
int temp = *a;
*a = *b;
*b = temp;
return;
}
int main(void)
{
int x = 3, y = 5;
int *a, *b;
a = &x;
b = &y;
printf("x == %d y == %d\n", x, y);
swap(a, b);
printf("x ==