91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言如何輕松搞定變量值交換

發布時間:2020-12-02 10:11:07 來源:億速云 閱讀:141 作者:小新 欄目:編程語言

小編給大家分享一下C語言如何輕松搞定變量值交換,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

1.臨時變量法

方法解釋:采用臨時變量的方法,作為中間過渡,這是最簡單也是大家最容易想到的方法,此法在各種場合應用極多,應該熟練掌握。

#include<stdio.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的結果可能越界。

#include<stdio.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.乘除交換法

方法解釋:該方法與加減法類似,就是把加減替換為乘除,缺點是因為采用了乘法,因此比加法更容易越界,使用時應謹慎。

#include<stdio.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所以可以順利完成交換,這種方法是很完美的,不存在越界的問題。

#include<stdio.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位,這種方法就會出錯,此方法較復雜且容易出錯,因此不建議大家使用。

#include<stdio.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語言如何輕松搞定變量值交換有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岑巩县| 金溪县| 马公市| 左贡县| 高州市| 昌宁县| 容城县| 金乡县| 清涧县| 敦煌市| 稻城县| 体育| 三江| 息烽县| 商城县| 泰顺县| 鄂托克前旗| 肥城市| 轮台县| 乾安县| 大方县| 城步| 灯塔市| 信宜市| 天镇县| 南川市| 枝江市| 荥经县| 略阳县| 大竹县| 浦北县| 文山县| 吴忠市| 永定县| 宜宾市| 新丰县| 都安| 福建省| 扎囊县| 南投市| 光山县|