不用中间的变量交换A和B的值(摘)
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
#include<stdio.h> int main() { int a = 1; int b = 2; //方法一: a = a + b; b = a - b; a = a - b; //方法二: a = a * b; b = a / b; a = a / b; //方法三: a = a^b; b = a^b; a = a^b; printf("a = %d\t,b =%d\n",a,b); return 0; }
反思 空杯 担当