C语言:交换两个数字

C语言:交换两个数字,第1张

目录

1.用第三个变量实现

2.不使用临时变量

3.异或实现


1.用第三个变量实现

通过临时变量tmp,交换两个变量的内容

2.不使用临时变量

但是这种写法会有问题,当a和b非常大的时候,会溢出

3.异或实现

异或(^):按二进制异或,相同为0,相异为1

 分析:首先要知道一个点,0^a=a,a^a=0;

  • a=a^b
  • b=a^b      //相当于b=a^b(此时的a)^b---->b=a^0------->b=a
  • a=a^b      //相当于a=a^b(此时的a)^a(此时的b)---->a=0^b------->a=b

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/740432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存