C语言四种变量交换的方法

在进行编写代码的时候,经常需要对两个变量进行交换,这里就给大家提供几个方法。

1.创建临时变量

这是一种非常常见的交换方法,原理就像下面的图一样,换一圈就行,如下:

2.从两者的和差出发

这种方法较第一种比较难理解,而且存在一定的缺陷:如果两个整型都是特别大,加起来的结果可能会超出它们数据类型的边界,就导致数据的丢失。

3.结合位运算的特点

这一次我们借用了异或操作符,它是对数的二进制位进行运算,规则是相同为0,相异为1,什么意思呢?如下:

有了这一层理解,想必大家应该能看得懂了吧,但是这种方式虽然不会超过边界,但是代码的可读性不是很好,如果读者对异或运算没有了解的话,就会看的一头雾水,所以还是优先考虑第一种方式,除非在做题的时候有额外限制,比如:不能创建第三个临时变量。

4.输出时候进行位置交换

这样的解决方法更为地简洁,而且也达到了最终想要的效果,我们写代码的时候有时候不需要过于去创造条件,对于不同的问题,可以去不断思考怎么优化它,不能为了代码而代码,我们必须要跳出一定的限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值