C语言 swap交换值的方式
方式一:(中间值)
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
方式二:(异或)
void swap(int *x, int *y)
{
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
方式三:(先合计,后减)
void swap(int *x, int *y)
{
*x = *x + *y;
*y = *x - *y;
*x = *x - *y;
}
方式四:(数学上)
void swap(int *x, int *y)
{
*x = *x + *y - (*y = *x);
}