c#是否参入中间变量交换变量的几种方法
大家很熟悉知道,交换变量经常的使用的一种方法是使用第三个变量,也符合正常人的思维逻辑,但是还有其他的一些方法来实现,但是有点“偏门”,记住就好了。下面就列举这几种方法。
第一种方法,会用到参数的方法再来修稿。
1 using System; 2 namespace Exercise 3 { 4 class Program 5 { 6 private static void Main(string[] args) 7 { 8 int num1 = 10; 9 int num2 = 5; 10 int temp = num1; 11 num1 = num2; 12 num2 = temp; 13 Console.WriteLine("num1={0},num2={1}",num1,num2); 14 Console.ReadKey(); 15 } 16 } 17 }
View Code
第二种方法,用到数轴上点到点之间的距离的使用,num2-num1;以下图示通过普通的加减运算来实现;
1 using System; 2 namespace ConsoleApplication1 3 { 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 int num1 =3; 9 int num2 = 7; 10 num1 = num2 - num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7 11 num2 = num2 - num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3 12 num1 = num2 + num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3 13 Console.WriteLine("num1={0},num2={1}", num1, num2); 14 Console.ReadKey(); 15 } 16 } 17 }
View Code
第三种方法,是位运算,异或,理解:先异或存num1点的话,第二步必须求num2,第三步剩下num1了。 格式和数轴类似,只要把+ -号全变成^就实现。
1 using System; 2 namespace ConsoleApplication1 3 { 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 int num1 =3; 9 int num2 = 7; 10 num1 = num2 ^ num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7 11 num2 = num2 ^ num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3 12 num1 = num2 ^ num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3 13 Console.WriteLine("num1={0},num2={1}", num1, num2); 14 Console.ReadKey(); 15 } 16 } 17 }
View Code
查看大神博客,自己细节把握。
转载于:https://www.cnblogs.com/leee/p/4135852.html
c#是否参入中间变量交换变量的几种方法相关推荐
- solidity 交换变量的两种方法
1.异或 a=a^b;b=b^a;a=a^b;gas消耗:1232 2.临时变量 uint temp;temp=a;a=b;b=temp;gas消耗:1217
- 【C语言】如何不用中间变量交换变量的值
[C语言]如何不用中间变量交换变量的值 思路分析 一般我们进行C语言中的变量交换时都是使用一个中间变量来进行求解,其实不适用中间变量也一样可以只需要使用下面的公司即可 m = m + n -n n = ...
- 设置环境变量的三种方法【转载】
文章目录 1 设置环境变量的三种方法 1.1 临时设置 1.2 当前用户的全局设置 1.3 所有用户的全局设置 2 测试当前环境变量 3 脚本解析 3.1 打开的文件如下: 3.2 脚本解析说明 3. ...
- python中字符串怎么引用_Python:字符串中引用外部变量的3种方法
方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...
- 怎么查看linux中的环境变量,linux中查看环境变量的两种方法
linux中查看环境变量有两种方法: 第一种是看系统环境变量的配置文件: /etc/profile这个是环境变量配置文件,里面是应经配置号的环境变量.当你在Ubuntu上安装配置jdk的JAVA_HO ...
- 【交换变量】三种交换变量的方式:中间变量法,加减法,异或运算法
这篇文章记录一下,交换变量的三种常见方式,分别是:中间变量法,加减法,异或运算法. 目录 (1)中间变量法 (2)加减法 (3)异或运算法 (1)中间变量法 算法思想: 声明一个额外的临时变量. 临时 ...
- 交换两个变量的值,不使用第三个变量的四种方法
2019独角兽企业重金招聘Python工程师标准>>> 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; ...
- 数组中交换元素的几种方法总结
在完成关于数组的大量算法中,基本都会涉及到元素交换,比如排序中是最常见的,一般的方法是新建一个临时变量,然后完成交换,如果给定的数组中元素是有范围的,其实还有其他方法也可以完成交换.下面就来总结一下这 ...
- matlab 函数到空间,Matlab中保存函数内部中间变量到工作空间的两种方法
比如函数 function y=myfunt1(x) a=5e-6; d=20e-6; boc=0.6328e-7; f=linspace(10e-3,10e-3,100); z=2; y=exp(- ...
最新文章
- ## 使用MapReduce程序完成相关数据预处理
- Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
- 世界各国的教育差距有多大?这几部全世界都在热议的教育纪录片,揭开一切.........
- 一个计算机硕士毕业生的求职经验(二)
- Mybatis3 源码解析系列
- UART 初始化及使用示例代码
- 闭式系统蒸汽管径推荐速度_干货 | 蒸汽管路中,管径和阀门如何选型?
- 软件开发的需求分析样例
- 收集bug开源框架_百度开源又一力作发布!炸了。。。
- Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)
- duilib 控件位置
- zktime 协议_中控考勤机对接信呼帮助(中控ZKTime5.0系统软件版)
- pink老师世纪佳缘作业
- Spring Boot使用WebSocket实现群聊
- 数据压缩1 | 浊音清音爆破音时域及频域特性
- 随興8作者雨落下無痕
- 使用selenium模仿手机浏览器访问淘宝网页
- Shopify payments二次验证
- 怎么在jq中添加html样式,jquery怎么添加css样式
- 文竹越长越乱?教你7种修剪方法可保持文竹株形优美,矮壮浓密