日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不用临时变量交换两个变量的值

發布時間:2024/1/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不用临时变量交换两个变量的值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在學習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;

?其實我們看加減法更容易理解,也有許多人用這種方法,雖然這些方法可能用不到,但是了解下還是有必要的,至少要讀懂別人的代碼是吧。

?

下面是一些個人的分析:

首先從簡單的加減法來進行學習測試。

a=a+b;

此時a為兩個數之和,我們用sum來表示,這樣就變成了

sum=a+b;

b=a-b;

這個步驟的時候,相當于

b=sum-b;

b=a+b-b=a;

最后一步:a=a-b;

也就是a=sum-b,這個時候,b已經變成了a,也就是

a=sum-a=a+b-a=b;

證明結束,嘿嘿,簡單有趣吧。馬上關燈了,明天測試另一個。

?

今天來看看關于異或的情況

首先是a=a^b;

同理,我們設sum=a^b;

第二步b=b^a; 相當于b=b^sum=b^a^b=a;

第三步:a=a^b=sum^b=a^b^a=b;

?

其實兩個方法都類似,我們沒有臨時變量,就自己用一個來做臨時變量(相當于臨時變量)來完成我們的交換。

當然,我們要注意,是不是所有的數據類型都能這樣用呢?你可以自己試試哦!

總結

以上是生活随笔為你收集整理的不用临时变量交换两个变量的值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。