// 这样写就好 void fun(int*a,int*b) { int k; k = *a; *a = *b; *b = k; } // 楼主那样写只是改变了通过形参获得的指针所指向的地址,而这个指针所指向的地址的改变只在函数空间中有效,对实参不会有影响。 // 像上面那样写是直接改变指针指向的内存位置的数据
void fun(int & a,int & b) { int k; k = a; a = b; b = k; }