swap( )函数指用来交换两个变量的值的函数。
int swap(a, b)
{
// switch the value of a and b.
return 0;
}
使用 C/C++ 编程时,经常需要自己实现一下swap( )函数,在实现的时候可能会遇到的问题在这个blog里归纳总结一下。
1. 直接交换(典型错误)
例子如下
int swap(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
return 0;
}
调用上面这个swap( )函数不会改变两个变量的值。 因为参数传递时传递的不是实参,而是实参的副本。因此,不会改变实参的值。
2. 使用指针进行交换
例子如下
#include <stdio.h>
int swap(int *a, int *b)
{