方法一
引入第三个变量,作为临时变量进行存储,完成两数的交换。
示例:
#includestdio.h
intmain(void){
inta=10;
intb=20;
inttmp;
printf("交换前a=%d,b=%d\n",a,b);
tmp=a;
a=b;
b=tmp;
printf("交换后a=%d,b=%d\n",a,b);
}
分析:
tmp=a;//将a变量赋值给tmp,此时tmp=10,a=10,b=20
a=b;//将b赋值给a,此时tmp=10,a=20,b=20
b=tmp;//将tmp赋值给b,此时tmp=10,a=20,b=10
运行结果:
方法二
不引入第三个变量,采用加减法进行交换。
示例:
#includestdio.h
intmain(void){
inta=10;
intb=20;
printf("交换前a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("交换后a=%d,b=%d\n",a,b);
}
分析:
a=a+b;//将a+b的值赋给a,此时a=30,b=20
b=a-b;//将a-b的值赋给b,此时a=30,b=10
a=a-b;//将a-b的值赋给a,此时a=20,b=10
运行结果