女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C基礎:交換a、b值較好的方法?

工程師 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-10-16 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

交換a、b的值在C語言的學習中是很常見的問題。最常用的方法就是引入一個中間變量當做中間介質來交換a、b的值。

代碼如下:

void change_ab(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp;}

!!注意不能寫為:

void change_ab(int a, int b){ int temp = 0; temp = a; a = b; b = temp;}

普通的變量傳遞,則不會改變內存內容,以為普通變量作為參數時,其實是在內存塊(棧空間)中新申請了一塊空閑塊,不是原來的內存塊,而函數調用完畢之后,這塊新申請的內存塊會由于變量的作用域失效而被系統回收。

如果把指針作為實參進行傳遞,也就是把內存地址傳了過去,那么操作這個指針所指向的內存塊,必然會改變這個內存的內容了。

以上這種方法就是最常見的方法。那么,你知道如何將a、b的值進行交換,并且不使用任何其他的中間變量?

方法一:采用算術的方法

void change_ab(int *a, int *b){ *a = *a + *b; *b = *a - *b; *a = *a - *b;}

方法二:采用異或的方法

void change_ab(int *a, int *b){ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b;}

方法一存在一個潛在的危險,當形參的類型改為無符號16位時,若a、b的值很大,那么a+b的值就有可能超出16位整數所能表示的范圍,從而造成程序運行錯誤。方法二則沒有這個問題,這是一種比較好的方法。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7632

    瀏覽量

    141676
  • 編程
    +關注

    關注

    88

    文章

    3689

    瀏覽量

    95242
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    卡諾圖與布爾代數的聯系

    )、NOT(非)等,這些運算符可以組合起來表示復雜的邏輯關系。 布爾代數的規則包括: 交換律:A AND B = B AND A
    的頭像 發表于 01-14 17:15 ?731次閱讀

    MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 技術資料 -基本功能規格篇- 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 技術資料 -基本功能規格篇-相關產品參數、數據手冊,更有
    發表于 12-25 18:48
    MHMF092<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術資料 -基本功能規格篇- 松下

    MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 12-25 18:47
    MHMF092<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 12-24 19:00
    MHMF092<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    三星貼片電容識別容代碼方法

    三星貼片電容的容代碼識別方法主要基于其型號編碼中的特定部分。以下是一個詳細的識別步驟和說明: ? ?一、識別容代碼的基本步驟 ? ?查看型號編碼: ? ?三星貼片電容的型號編碼通常包含多個部分
    的頭像 發表于 12-13 16:17 ?839次閱讀
    三星貼片電容識別容<b class='flag-5'>值</b>代碼<b class='flag-5'>方法</b>

    MHMF082A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF082A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 10-28 18:57
    MHMF082<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF082A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF082A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 10-28 18:38
    MHMF082<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    從TMS320C6211B/C6711/C6711BC6713遷移到TMS320C6713B

    電子發燒友網站提供《從TMS320C6211B/C6711/C6711BC6713遷移到TMS320C6713B.pdf》資料免費下載
    發表于 10-18 09:25 ?0次下載
    從TMS320<b class='flag-5'>C6211B</b>/<b class='flag-5'>C</b>6711/<b class='flag-5'>C6711B</b>和<b class='flag-5'>C</b>6713遷移到TMS320<b class='flag-5'>C6713B</b>

    MHMF042A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF042A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 09-26 18:39
    MHMF042<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF042A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF042A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 09-25 19:19
    MHMF042<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF041A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF041A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 09-03 19:15
    MHMF041<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF041A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF041A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 09-03 18:58
    MHMF041<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF022A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF022A1C4-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 08-02 18:51
    MHMF022<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    MHMF022A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF022A1C2-MINAS A6B 系列 (EtherCAT) 標準規格書相關產品參數、數據手冊,更有
    發表于 08-02 18:36
    MHMF022<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標準規格書 松下

    ISM交換機如何恢復出廠

    ISM 交換機如何恢復出廠
    發表于 07-25 08:31