不使用变量交换两个数的值,有三种方法,
方法一:
void Swap(int a,int b)
{
a=a+b;
b=a-b;
a=a-b;
printf("%d,%d",a,b);
}
int main()
{
Swap(10,20);
return 0;
}
方法二:
void Swap1(int a,int b)
{
a=a-b;
b=a+b;
a=b-a;
printf("%d,%d",a,b);
}
int main()
{
Swap1(10,20);
return 0;
}
方法三:
void Swap2(int a,int b)
{
a=a^b;
b=a^b;
a=a^b;
printf("%d,%d",a,b);
}
int main()
{
Swap2(10,20);
return 0;
}
注意:这三种方法还是存在bug(在数组的交换中会出现错误),所以大多数情况下我们使用第三方变量来做交换。