#include<stdio.h> void foo(int *a, int *b){ *a = *a + *b; *b = *a - *b; *a = *a - *b; } int main(){ int a = 1, b = 2, c = 3; foo(&a, &b); foo(&b, &c); foo(&c, &a); printf("%d, %d, %d", a, b, c); }
void Swap(int &x.int &y) { int temp=x; x=y; y=x; }
void Swap(int* x,int* y){ *x=*x+*y; *y=*x-*y; *x=*x-*y; }牢记
foo(*a, *b)交换a和b的值,所以经过a、b、c的值经过 由1,2,3变为1,3,2