1、创建临时变量交换ab的值
void exchange_ab(int x,int y)
{
int temp = 0;
temp = x;
x = y;
y = temp;
}
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
exchange_ab(a, b);
return 0;
}
2、不创建临时变量,交换ab的值(考虑一个溢出的问题)
//不创建临时变量,交换2个变量的内容
void exchange_ab(int x,int y)
{
x = x + y;
y = x - y;
x = x - y;
}
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
exchange_ab(a, b);
return 0;
}
3、优化方法
X^Y
//不创建临时变量,交换2个变量的内容
void exchange_ab(int x,int y)
{
x = x ^ y;
y = x ^ y;
x = x ^ y;
printf("a = %d b = %d", x, y);
}
int main()
{
int a = 10;
int b = 20;
//scanf("a = %d b = %d", &a, &b);
exchange_ab(a, b);
return 0;
}