1、加减法:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失
a = a + b;
b = a - b;
a = a - b;
2、异或法:可以完成对整型变量的交换,对于浮点型变量它无法完成交换。
a = a^b;
b = a^b;
a = a^b;
3、乘除法:可以处理整型和浮点型变量,但在处理浮点型变量时也存在精度损失问题。而且乘除法比加减法要多一条约束:b必不为0。
a = a * b
b = a / b
a = a / b
main()
{
int a=1,b=2;
a^=b^=a^=b; /*异或法*/
printf("%d %d",a,b);
return 0;
}
本文介绍了三种常见的变量交换方法:加减法、异或法及乘除法,并详细探讨了每种方法的应用场景及其可能存在的问题,如精度损失等。
904

被折叠的 条评论
为什么被折叠?



