这里整理一下三种方法交换两个整形变量的值的问题。其实我自己仅仅能想到前两个而已。最后一个方法是学习到的!
对于交换两个整形变量的值的问题,我一开始想得很简单,就是创建一个临时变量进行交换值的操作。
#include <stdio.h>
int main()
{
int a = 3;
int b = 4;
int c = 0;
printf("a=%d ", a);
printf("b=%d \n", b);
c = a;
a = b;
b = c;
printf("a=%d ", a);
printf("b=%d ", b);
getchar();
return 0;
}
但是有一个面试题就是在不创建临时变量的情况下,交换两个变量的值。
然后就想到了如下的数学的方法。
#include <stdio.h>
int main()
{
int a = 3;
int b = 4;
a = a+b;
b = a-b;
a = a-b;
printf("a=%d ", a);
printf("b=%d ", b);
getchar();
return 0;
}
但是再进一步,如果还问有没有别的方法来解决这个问题,那我是想不出来了。
这时候看到一个新方法。涉及到了一个新知识!
<