C语言中两个变量值的交换

C语言中两个变量值的交换

int main(){
    int a = 10;
    int b = 20;
    int t = 0;
    t = a;
    a = b;
    b = t;
    printf("a=%d,b=%d",a,b);
}
运行结果:a=20,b=10

很多初学编程的小伙伴会不理解两个变量的值进行交换为什么还要定义第三个变量。

为什么不能直接以a = b , b = a 的方式交换呢

其实理解这个概念很简单,下面我来举个例子:

我们假设a和b是两个杯子,a杯子中装着满杯的红色墨水,b杯子中装着满杯的蓝色墨水;

此时我们想让两个杯子里的墨水进行交换一下,让a杯子装蓝色的墨水,b杯子装红色的墨水;

正常情况下只有这两个杯子是没有办法交换的,这个时候我们就需要一个空杯子;

这个空杯子就是我们的变量t;

我们先把a杯子中红色的墨水倒进杯子t中,t = a,这样t杯子里就是红色的墨水;

然后把b杯子中的蓝色墨水倒进a杯子中,a = b, 这样a杯子中就是蓝色的墨水;

然后再把杯子t中的红色墨水倒进b杯子中,b = t,这样b杯子中就是红色的墨水;

这样就完成了交换;

不知道我举得例子是否通俗易懂,如果有哪些不足的地方还望各位指正,感谢!

你可能感兴趣的:(c语言,c++,开发语言)