C语言交换两个数的值(没有第三个数)-创新互联

在日常的编程中,会经常遇到需要交换两个数值得时候,我们通常的做法是创建一个新的变量,在需要交换的两个数之间起到一个中间值缓存数据的作用。那么,如果在不创建新变量的情况下,如何交换两个数的值呢:

创新互联主营东至网站建设的网络公司,主营网站建设方案,成都app软件开发公司,东至h5小程序制作搭建,东至网站营销推广欢迎东至等地区企业咨询

首先我们创建一个测试程序:因为可能会有多种解决办法,所以直接用函数来实现

解决办法:

方案一、加减法:

这个方法最简单,就是基本的小学算术题,需要注意的是我们在创建函数的时候,由于需要改变变量的值,所以函数的形参需要使用指针作为函数参数,再使用解引用的方式来改变变量的值。(下同)

运行结果:

方案二、乘除法:

跟法案一的加减法大概相同,也是小学算术题

运行结果:

方案三、亦或法:

讲解:

使用亦或交换两个数的值是一种非常好的方法,其原理就是二进制数间的亦或运算

首先NumA与NumB进行^=运算,此时NumA为30

然后再用NumB与新的NumA进行^=运算,此时NumB经过运算就变成了NumA原来的值

最后再用NumA^=NumB,也就是NumA = NumA ^ NumB ->NumA = 10 ^ 30;

运行结果:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:C语言交换两个数的值(没有第三个数)-创新互联
文章来源:http://lszwz.com/article/hocss.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款