C语言交换两个数字的三种做法
1.借助中间变量法:
void swap(int *a , int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
2.使用加减法运算法:
void swap(int *a ,int *b)
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
这种做法可能会导致溢出,从而造成错误。
3.使用位运算法:void swap(int *a ,int *b)
{
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
这种做法就不必担心溢出