int main() {
int a, b, t;
scanf_s("%d%d", &a, &b);
t = a;
a = b;
b = t;
printf("%d %d\n", a, b);
return 0;
}
这种方法叫做三变量法。可以将这种方法形象的比喻成将一瓶酱油和一瓶醋借助一个空瓶子进行交换,先把酱油倒进空瓶,然后将醋倒入原来的空瓶中,最后把酱油从辅助的空瓶子中倒入原来的醋瓶子里。
例二
另一个方法没有借助任何变量,但是比较难理解。根据注释大概能看明白哈。
int main() {
int a, b;
scanf_s("%d%d", &a, &b);
a = a + b;//a作为总和
b = a - b;//b替换成原来的a
a = a - b;//a替换成原来的b
printf("%d %d\n", a, b);
return 0;
}
这个方法看起来很好(少用一个变量),但是实际上很少使用。因为适用范围很窄,只有定义了加减法 的数据类型才能使用此方法。三变量方法足够好,这个例子只是帮助提高阅读能力。
例三
#include<stdio.h>
int main() {
int a, b;
scanf_s("%d%d", &a, &b);
printf("%d %d\n", b, a);
return 0;
}
换句话说,我们的目标是解决问题,而不是为了编程去编程,