首页后端开发ASP.NET【C语言】5种妙招教你轻松搞定变量值交换

【C语言】5种妙招教你轻松搞定变量值交换

时间2024-01-31 04:54:03发布访客分类ASP.NET浏览273
导读:收集整理的这篇文章主要介绍了【C语言】5种妙招教你轻松搞定变量值交换,觉得挺不错的,现在分享给大家,也给大家做个参考。c语言中交换两个变量值的操作经常会用到,也有不少人提问诸如不用临时变量怎么交换两个变量值的问题,今天我们在这里进行一个总结...
收集整理的这篇文章主要介绍了【C语言】5种妙招教你轻松搞定变量值交换,觉得挺不错的,现在分享给大家,也给大家做个参考。c语言中交换两个变量值的操作经常会用到,也有不少人提问诸如不用临时变量怎么交换两个变量值的问题,今天我们在这里进行一个总结,一共有5种方法,希望大家看完有所收获。

1.临时变量法

方法解释:采用临时变量的方法,作为中间过渡,这是最简单也是大家最容易想到的方法,此法在各种场合应用极多,应该熟练掌握。

#includestdio.h>
int main(void){
         int a=1,b=2,tmp;
              tmp =a;
              a=b;
              b=tmp;
             PRintf("%d %d",a,b);
         return 0;
 }
    

2.加减交换法

方法解释:顾名思义,使用数学中的加减法进行交换,先把a+b的结果暂时先保存在变量a中,然后通过这改变后的a和原始的b进行减法就可以得到交换后的b,缺点是a+b的结果可能越界。

#includestdio.h>
int main(void){
                int a=1,b=2;
         a = a + b;
         b = a - b;
         a = a - b;
              printf("%d %d",a,b);
              return 0;
 }
    

3.乘除交换法

方法解释:该方法与加减法类似,就是把加减替换为乘除,缺点是因为采用了乘法,因此比加法更容易越界,使用时应谨慎。

#includestdio.h>
int main(void){
                int a=1,b=2;
         a = a * b;
         b = a / b;
         a = a / b;
              printf("%d %d",a,b);
              return 0;
 }
    

4.异或交换法

方法解释:巧妙使用异或运算来进行交换,这种方法主要利用了异或的特性a^b的值先保存到a,因为a^b^b=a所以可以顺利完成交换,这种方法是很完美的,不存在越界的问题。

#includestdio.h>
int main(void){
         int a=1,b=2;
          a = a ^ b;
          b = a ^ b;
          a = a ^ b;
         printf("%d %d",a,b);
         return 0;
 }
    

5.移位交换法

方法解释:这种方法不太常用,原理是把原来的int类型的a的值拆分成高16位和低16位,相当于多了16位的暂存空间可以周转,缺点是如果a或者b超过了16位,这种方法就会出错,此方法较复杂且容易出错,因此不建议大家使用。

#includestdio.h>
int main(void){
         int a=1,b=2;
         a = 16;
         a |= b;
         b = a >
    >
     16;
         a = a &
     0xffff;
              printf("%d %d",a,b);
              return 0;
 }
    

反思总结:
其实这五种方法从本质上分就三大类,一是临时变量,二是加减乘除运算,三是位运算。因为其各自优缺点的问题,我个人建议大家尽量使用临时变量法和异或交换法这两种,其中临时变量法在其他的地方也应用极多,大家重点掌握,就讲到这里吧,谢谢大家。

相关教程:C语言教程

以上就是【C语言】5种妙招教你轻松搞定变量值交换的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: .net中的重载是什么?下一篇:C#用来做什么的猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: 【C语言】5种妙招教你轻松搞定变量值交换
本文地址: https://pptw.com/jishu/593506.html
JavaScript怎么改变src路径 javascript怎么将整数转为16进制

游客 回复需填写必要信息