chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

交換a、b的值在C語(yǔ)言的學(xué)習(xí)中是很常見(jiàn)的問(wèn)題。最常用的方法就是引入一個(gè)中間變量當(dāng)做中間介質(zhì)來(lái)交換a、b的值。

代碼如下:

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

??!注意不能寫(xiě)為:

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

普通的變量傳遞,則不會(huì)改變內(nèi)存內(nèi)容,以為普通變量作為參數(shù)時(shí),其實(shí)是在內(nèi)存塊(??臻g)中新申請(qǐng)了一塊空閑塊,不是原來(lái)的內(nèi)存塊,而函數(shù)調(diào)用完畢之后,這塊新申請(qǐng)的內(nèi)存塊會(huì)由于變量的作用域失效而被系統(tǒng)回收。

如果把指針作為實(shí)參進(jìn)行傳遞,也就是把內(nèi)存地址傳了過(guò)去,那么操作這個(gè)指針?biāo)赶虻膬?nèi)存塊,必然會(huì)改變這個(gè)內(nèi)存的內(nèi)容了。

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

方法一:采用算術(shù)的方法

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;}

方法一存在一個(gè)潛在的危險(xiǎn),當(dāng)形參的類(lèi)型改為無(wú)符號(hào)16位時(shí),若a、b的值很大,那么a+b的值就有可能超出16位整數(shù)所能表示的范圍,從而造成程序運(yùn)行錯(cuò)誤。方法二則沒(méi)有這個(gè)問(wèn)題,這是一種比較好的方法。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7642

    瀏覽量

    144530
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3707

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    三星0603貼片104電容電壓怎樣識(shí)別?

    CL10B104KB8NNNC。其中,電壓由特定位置的字母或數(shù)字組合表示: 字母代碼對(duì)應(yīng)電壓 電壓常用單個(gè)字母標(biāo)注,對(duì)應(yīng)關(guān)系如下: A
    的頭像 發(fā)表于 09-25 18:02 ?683次閱讀
    三星0603貼片104電容電壓<b class='flag-5'>值</b>怎樣識(shí)別?

    請(qǐng)問(wèn)ISM 交換機(jī)如何恢復(fù)出廠?

    請(qǐng)問(wèn)ISM 交換機(jī)如何恢復(fù)出廠
    發(fā)表于 08-07 06:35

    吉時(shí)利2602A KEITHLEY2602B 2611B 數(shù)字源表

    吉時(shí)利2602A ?KEITHLEY2602B 2611B ?數(shù)字源表 吉時(shí)利2602B源表 測(cè)量功能 - 雙通道型號(hào)支持80W輸出功率(40W/通道) - 4象限源/測(cè)量具有6位半分
    的頭像 發(fā)表于 02-19 15:02 ?638次閱讀

    MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -基本功能規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -基本功能規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有
    發(fā)表于 01-16 18:48
    MDMF304<b class='flag-5'>A1C</b>9M-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -基本功能規(guī)格篇- 松下

    MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)
    發(fā)表于 01-16 18:47
    MDMF304<b class='flag-5'>A1C</b>9M-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1C9M-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有
    發(fā)表于 01-16 18:47
    MDMF304<b class='flag-5'>A1C</b>9M-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    卡諾圖與布爾代數(shù)的聯(lián)系

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

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

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

    MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè)
    發(fā)表于 12-25 18:48
    MHMF092<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF092A1C4-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有
    發(fā)表于 12-25 18:47
    MHMF092<b class='flag-5'>A1C</b>4-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -基本功能規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -基本功能規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有
    發(fā)表于 12-24 19:01
    MHMF092<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -基本功能規(guī)格篇- 松下

    MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè)
    發(fā)表于 12-24 19:01
    MHMF092<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF092A1C2-MINAS A6B 系列 (EtherCAT) 標(biāo)準(zhǔn)規(guī)格書(shū)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有
    發(fā)表于 12-24 19:00
    MHMF092<b class='flag-5'>A1C</b>2-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  標(biāo)準(zhǔn)規(guī)格書(shū) 松下

    三星貼片電容識(shí)別容代碼方法

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

    MHMF084A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF084A1C9M-MINAS A6B 系列 (EtherCAT) 技術(shù)資料 -EtherCAT 通信規(guī)格篇-相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)
    發(fā)表于 12-11 18:39
    MHMF084<b class='flag-5'>A1C</b>9M-MINAS <b class='flag-5'>A6B</b> 系列 (EtherCAT)  技術(shù)資料 -EtherCAT 通信規(guī)格篇- 松下