-------siwuxie095
法一:直接交換(不限)
@echooff
setvar1=abc
setvar2=123
echo
交換前:
var1=%var1%var2=%var2%
setvar1=%var2%& setvar2=%var1%
echo
交換後:
var1=%var1%var2=%var2%
pause
sublime中:
執行一覽:
注意:如果 set var1=%var2% & set var2=%var1%
分開成兩段寫,就達不到交換的效果了
法二:異或---位運算(僅限數字)
@echooff
setx=10
sety=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中:
執行一覽:
法三:加減法---數學原理(僅限數字)
@echooff
setvar1=123
setvar2=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中:
執行一覽:
不用中間變數交換兩個數的值
當要交換兩個數的值時,通常的做法是定義乙個臨時變數,然後再進行交換。那麼能不能不用臨時變數而交換兩個數的值呢?可以的!c語言提供的異或運算就可以實現這樣的操作。異或運算子 也稱xor運算子,它的規則是若參加運算的兩個二進位同號,則結果為0 假 異號為1 真 即0 0 0,0 1 1,1 0 1,1 ...
不用臨時變數,交換兩個變數的值
在學習c語言的時候,涉及到兩個變數值的交換,其中用到臨時變數。類似於 temp a a b b temp 這樣的語句,如果在沒有臨時變數的情況下,該如何做呢?網路上的人們給出了兩種方法 一 異或法 a a b b b a a a b 二 加減法 a a b b a b a a b 其實我們看加減法更...
怎樣不用中間變數temp 實現兩個數交換
第一類方法也是常用的方法,通過多次的數值計算來完成交換,到現在知道的有下面三種 1 加減法。a a b b a b a a b 該方法可以交換整型和浮點型數值的變數,但在處理浮點型的時候有可能出現精度的損失,例如對資料 a 3.123456 b 1234567.000000 交換後各變數值變為 a ...