测试环境:vs2013
代码如下
# include<stdio.h>
# include<stdlib.h>
int main()
{
int a = 1;
int b = 2;
int t = 0;
//法1
t = a;
a = b;
b = t;
printf("a=%d b=%d t=%d\n", a, b, t);
//输出结果 a=2 b=1 t=1
a = 1; //重新给a b t赋为原来的值
b = 2;
t = 0;
//法2
t = b;
b = a;
a = t;
printf("a=%d b=%d t=%d\n", a, b, t);
//输出结果 a=2 b=1 t=2
system("pause");
}
关于两个变量之间交换值的问题,我用了一个t变量来做交换变量的临时中转站,
发现无论是先把a 或b 放在中转站里面都不会影响最后的结果,影响的只是t的值,
法1和法2就只有这些差别吗?请问我说的对不对呢?
求吐槽!