当前位置: 首页 > news >正文

C语言第三十三弹---交换变量(不使用临时变量)

C语言在不使用临时变量的情况下实现变量交换

思路:看见交换变量,那么最容易考虑到的就是使用临时变量交换。如果不允许使用临时变量那么该如何考虑呢?使用^异或位运算(二进制位相同为0 不同为1),通过利用异或运算的特性可以完成交换。

int main()
{int a = 3;int b = 5;a = a ^ b;//0011 ^ 0101 = 0110b = a ^ b;//0110 ^ 0101 = 0011a = a ^ b;//0110 ^ 0011 = 0101printf("a = %d,b = %d",a,b);return 0;
}

其实想要完成交换还可以通过加减法、乘除法,但是这些方法具有一定的局限性,对数字有很多要求,不然可以会发生溢出或者精度不准等问题。

相关文章:

  • Java Web——XML
  • 单例模式-C++实现
  • NX二次开发UF_CURVE_ask_wrap_curve_parents 函数介绍
  • 量子计算 | 解密著名量子算法Shor算法和Grover算法
  • MySQL进阶知识
  • Unsupervised MVS论文笔记(2019年)
  • 【云原生 Prometheus篇】Prometheus的动态服务发现机制
  • vue+SpringBoot的图片上传
  • python生成邀请码,手机验证码
  • Android控件全解手册 - 自定义实现水波进度
  • 解决kubernetes中微服务pod之间调用失败报错connection refused的问题
  • Nginx(资源压缩)
  • 人工智能 -- 神经网络
  • 【React】打包优化-配置CDN
  • echart一键生成迁徙图
  • 【知识碎片】第三方登录弹窗效果
  • es6
  • IDEA常用插件整理
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • vue自定义指令实现v-tap插件
  • windows下如何用phpstorm同步测试服务器
  • 今年的LC3大会没了?
  • 你不可错过的前端面试题(一)
  • 盘点那些不知名却常用的 Git 操作
  • 扑朔迷离的属性和特性【彻底弄清】
  • 听说你叫Java(二)–Servlet请求
  • 一个SAP顾问在美国的这些年
  • Linux权限管理(week1_day5)--技术流ken
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • $(selector).each()和$.each()的区别
  • (2)MFC+openGL单文档框架glFrame
  • (八)c52学习之旅-中断实验
  • (补)B+树一些思想
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)springcloud实战之config配置中心
  • (分布式缓存)Redis分片集群
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .aanva
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 按比例显示图片的缩略图
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestBody与@ResponseBody的使用
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [2021 蓝帽杯] One Pointer PHP
  • [CF482B]Interesting Array
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件