色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    7608

    瀏覽量

    137111
  • 編程
    +關注

    關注

    88

    文章

    3627

    瀏覽量

    93809
收藏 人收藏

    評論

    相關推薦

    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)  標準規格書 松下

    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)  標準規格書 松下

    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)  標準規格書 松下

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

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

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

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

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

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

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

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

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

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

    高壓柵極驅動器LM5100A/B/C LM5101A/B/C數據表

    電子發燒友網站提供《高壓柵極驅動器LM5100A/B/C LM5101A/B/C數據表.pdf》
    發表于 03-29 10:36 ?0次下載
    高壓柵極驅動器LM5100<b class='flag-5'>A</b>/<b class='flag-5'>B</b>/<b class='flag-5'>C</b> LM5101<b class='flag-5'>A</b>/<b class='flag-5'>B</b>/<b class='flag-5'>C</b>數據表

    FLUKE 192B - 196B/C - 199B/C用戶手冊

    FLUKE 192B - 196B/C - 199B/C 用戶手冊
    發表于 03-19 10:59 ?5次下載
    主站蜘蛛池模板: 男女床上黄色| 动漫成年美女黄漫网站| 免费在线视频成人| 国产精品亚洲精品日韩电影| 91夫妻交友论坛| 亚洲AV无码专区国产乱码网站| 男女高潮又爽又黄又无遮挡| 国产在线观看不卡| 调教椅上的调教SM总裁被调教 | 免费毛片视频网站| 好大的太粗好深BL| 国产国产乱老熟女视频网站97| 99热在线视频| 在教室伦流澡到高潮H女攻视频| 天天狠狠色综合图片区| 欧美性色生活片天天看99顶级| 久久精品视频uu| 国模啪啪久久久久久久| 国产成人免费片在线观看| 女人18毛片| www伊人网| 性绞姿始动作动态图| 日本精品久久久久中文字幕 1 | 亚洲av欧美在我| 全黄H全肉细节文短篇| 免费99精品国产自在现线| 久久国产精品久久国产精品| 国产午夜精品不卡观看| 国产精品久久久精品日日| 囯产少妇BBBBBB高潮喷水一| 扒开美女嫩bbb| 边做边爱BD免费看片| https黄视| 波野结衣qvod| 成人a毛片久久免费播放| yellow视频免费观看| YY600800新视觉理论私人| 被黑人做的白浆直流| https黄视| 成人免费观看www视频| 顶级欧美不卡一区二区三区|