码迷,mamicode.com
首页 > 其他好文 > 详细

批处理:不用中间变量,交换两个变量值

时间:2017-01-23 22:36:50      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:size   ges   lap   var   tom   减法   back   1.0   new   

-------siwuxie095

   

   

   

法一:直接交换(不限)

@echo off

set var1=abc

set var2=123

echo 交换前 var1=%var1% var2=%var2%

set var1=%var2% & set var2=%var1%

echo 交换后 var1=%var1% var2=%var2%

pause

   

sublime中:

   

技术分享

   

运行一览:

   

技术分享

   

   

注意:如果 set var1=%var2% & set var2=%var1%

分开成两段写,就达不到交换的效果了

   

   

   

   

   

法二:异或---位运算(仅限数字)

@echo off

set x=10

set y=1

echo 交换前:x=%x% y=%y%

set /a x=x^^y

set /a y=x^^y

set /a x=x^^y

echo 交换后:x=%x% y=%y%

pause

   

sublime中:

   

技术分享

   

运行一览:

   

技术分享

   

   

   

   

   

   

法三:加减法---数学原理(仅限数字)

@echo off

set var1=123

set var2=456

echo 交换前:var1=%var1% var2=%var2%

set /a var1=%var1%+%var2%

set /a var2=%var1%-%var2%

set /a var1=%var1%-%var2%

echo 交换后:var1=%var1% var2=%var2%

pause

   

sublime中:

   

技术分享

   

运行一览:

   

技术分享

   

   

   

   

【made by siwuxie095】

   

   

   

   

   

   

   

   

   

   

   

   

批处理:不用中间变量,交换两个变量值

标签:size   ges   lap   var   tom   减法   back   1.0   new   

原文地址:http://www.cnblogs.com/siwuxie095/p/6344953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!