C语言实现两个数的交换

常常用C写排序算法时,经常写两个数的交换。想来,也把自己知到的这些方式记录一下:

(1)宏定义方法:

#define SWAP(a, b) {a = a + b; b = a - b; a = a - b;}

使用示例:

int a[2] = {5, 1};
SWAP(a[0], a[1]);

(2)指针:

void swap(int *x, int *y)
{
    int tmp = *x;
    *x = *y;
    *y = tmp;
}

使用示例:

int a[2] = {5, 1};
swap(&a[0], &a[1]);

猜你喜欢

转载自blog.csdn.net/guohengcook/article/details/81395247