说白了就是使用按位异或来做,具体见代码 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { if( 3!=argc ) { return -1; } int a=atoi(argv[1]); int b=atoi(argv[2]); a^=b; b^=a; a^=b; printf("a=%d/nb=%d/n", a, b); return 0; }