c语言 参数经过运算后还原为输入值,1:编程实现由键盘输入两个整数,将其赋给变量x和y并输出,交换x和y的值后再输出 用函数输出!...

可以使用以下三个方法实现:

1、方法一:【中间变量】

通过设置一个变量交换两个值。这种方式是最直接也是最容易理解的方式(为了代码的易读性,推荐使用这种形式),不过有一个临时变量,如果不想创建临时变量则可以使用下面的方式。

bb23204f1a3a14760f44617ff87c8504.png

2、方法二:【值变化】

通过加减操作实现值得交换,具体代码如下:

b2db38def737efb1f0d10862299dd972.png

3、方法三:【异或运算】。

关于“异或”有几点性质:

1.任一变量X与其自身进行异或结果为0,即 X^X=0。

2.任一变量X与0进行异或结果不变,即 X^0=X。

3.异或运算具有可结合性,即 a^b^c = (a^b)^c = a^(b^c)。

4.异或运算具有可交换性,即 a^b = b^a。

执行过程为:

第一步 a = a ^ b 完成后 a 变量的结果为 a ^ b。

第二步 b = a ^ b 等号右边即是 (a ^ b) ^ b = a ^ (b ^ b) = a ^ 0 = a,经过运算后b中的值为a。

第三步 a = a ^ b 此时赋值号右边的a保存的仍然是 a ^ b 的值,而赋值号右边的b已经是原始的a了。即等号右边的 a ^ b = (a ^ b) ^ a = a ^ b ^ a = (a ^ a) ^ b = 0 ^ b = b, 该值赋值给a,即 a = b。

代码如下:

a19070656bfdc4f1375c76f0aaddb7d5.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值