#include<stdio.h>
#include<stdlib.h>
void swap(int* a, int* b)//普通交换
{
int tmp = *a;
*a = *b;
*b = tmp;
}
//不使用临时变量
void swap1(int* a, int* b)//使用加减法
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
void swap2(int *a, int *b)//使用异或
{
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
int main()
{
int a = 10, b = 30;
printf("a = %d,b = %d\n", a, b);
swap(&a, &b);
printf("a = %d,b = %d\n", a, b);
swap1(&a, &b);
printf("a = %d,b = %d\n", a, b);
swap2(&a, &b);
printf("a = %d,b = %d\n", a, b);
system("pause");
return 0;
}
两个数字交换(不使用临时变量)
最新推荐文章于 2019-09-07 17:34:43 发布