正处于C语言初阶学习的朋友可能脑海里经常有一个困惑:为什么实现交换时要创建临时变量呢?直接相互赋值不可以吗?为什么要多出来这么一个步骤呢?
今天我就来为大家解答这个问题:
在C语言中,实现两个数字交换的常见方法是创建一个临时变量来存储其中一个数字,然后将这两个数字互相赋值。这是因为在不使用临时变量的情况下,直接交换两个数字的值会导致其中一个数字的值被覆盖,从而无法正确地完成交换。
例如,如果我们有两个数字a和b,它们的值分别为3和5,如果我们直接将a的值赋给b,b的值赋给a,那么a和b的值都会变成3,交换失败。而如果我们使用临时变量,将a的值存储在临时变量中,然后将b的值赋给a,最后将临时变量的值赋给b,就可以成功地完成交换。
错误示例:
若是直接赋值,编译器会默认把等号右边的值赋给等号左边,从而造成原来的数值被覆盖。
正解:
其中,临时变量的名称可任意取,但是我们一般取名为temp,这取自英文单词暂时的(temporary)这样取名也便于区分。