import sys x = int(sys.argv[1]) y = int(sys.argv[2]) def swap1(a, b) : a = a + b b = a - b a = a - b print 'swap1', a, b def swap2(a, b) : a = a - b b = a + b a = b - a print 'swap2', a, b def swap3(a, b) : a = a ^ b b = a ^ b a = a ^ b print 'swap3', a, b swap1(x, y) swap2(x, y) swap3(x, y) 虽然是用Python写的,在其他语言中可以用同样的方法做swap,这样的方法其实很多 只要在表达式中同时有a,b的信息,基本上都可以还原出原信息。 传统做法中,由于用简单的赋值语句只能传递一个变量的信息,故需要中间变量