
c语言不创建临时变量交换两个数的值
发布日期:2021-05-07 22:55:40
浏览次数:27
分类:精选文章
本文共 628 字,大约阅读时间需要 2 分钟。
一、问题
不允许创建临时变量,交换两个数的内容
二、解决思路
c语言交换两个变量内容的常规思路是创建第三个变量,借此来实现交换。但是题目要求我们不能创建临时变量,这就使我们不得不另辟蹊径。从题目入手,不允许创建临时变量,交换两个数的值。既然是数那就可以进行相应的运算。在深入想想,答案就出来了。那我们假设有两个变量a和b,分别赋值4和8。整个交换过程分三步:第一步,把a与b的和赋值给a,此时a=12,b=8;第二步,把a与b的差赋值给b,此时a=12,b=4;第三步,再把a与b的差赋值给a,此时a=8,b=4;整个交换过程结束。
不过这个方法可能会发生溢出问题,(a和b的值过大),所以最完美的方法就是使用位运算符,异或。三、代码演示
#include#include int main(){ int a = 0, b = 0; printf("请输入a和b:\n"); scanf_s("%d %d", &a, &b); //第一种方法 /*a = a + b; b = a - b; a = a - b; printf("交换后a=%d, b=%d\n", a, b);*/ //第二种方法 a = a ^ b; b = a ^ b; a = a ^ b; printf("交换后a=%d, b=%d\n", a, b); system("pause"); return 0;}
四、运行结果
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月24日 01时06分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
zabbix监控安装
2021-05-14
06-局部变量和全局变量
2021-05-14
12-面向对象1
2021-05-14
python 进程 线程 协程(通信方式)
2021-05-14
python基础总结 异常处理
2021-05-14
Python类和函数(私有变量、私有方法、变量作用域、继承和多态)
2021-05-14
【5G之道】第一章:介绍
2021-05-14
解决Vue源码运行错误
2021-05-14
HDU - 4109 Instrction Arrangement
2021-05-14
服务器响应json字符串采用拼接的方式响应时要注意的坑!
2021-05-14
一行代码
2021-05-14
Lua websocket长连接
2021-05-14
SQL 分页查询 返回总条数
2021-05-14
重写的特点
2021-05-14
4、用户及文件权限
2021-05-14
富士电机漏洞预警
2021-05-14
WIFI攻击研究一
2021-05-14
【数据库】MySQL导入文件与导出文件
2021-05-14
计算机网络UDP协议和TCP协议
2021-05-14
Qt中的QGridLayout网格布局类下的两种不同的addWidget功能
2021-05-14