日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

交換a、b的值在C語言的學習中是很常見的問題。最常用的方法就是引入一個中間變量當做中間介質(zhì)來交換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;}

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

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

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

方法一:采用算術(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;}

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

責任編輯:haq

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

    關(guān)注

    183

    文章

    7646

    瀏覽量

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

    關(guān)注

    90

    文章

    3724

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    PIC16C63A/65B/73B/74B微控制器:功能、特性與應(yīng)用全解析

    PIC16C63A/65B/73B/74B微控制器:功能、特性與應(yīng)用全解析 在電子工程師的日常工作中,選擇合適的微控制器是設(shè)計成功的關(guān)鍵。今天,我們就來深入探討PIC16
    的頭像 發(fā)表于 04-07 16:40 ?222次閱讀

    深入剖析PIC16C63A/65B/73B/74B微控制器:特性、應(yīng)用與開發(fā)

    深入剖析PIC16C63A/65B/73B/74B微控制器:特性、應(yīng)用與開發(fā) 在電子工程師的世界里,選擇合適的微控制器是項目成功的關(guān)鍵。PIC16C
    的頭像 發(fā)表于 04-07 15:20 ?292次閱讀

    PI7C8152A與PI7C8152B 2端口PCI - PCI橋接器:設(shè)計利器

    PI7C8152A與PI7C8152B 2端口PCI - PCI橋接器:設(shè)計利器 在電子設(shè)計領(lǐng)域,PCI - PCI橋接器是實現(xiàn)PCI總線擴展與設(shè)備連接的關(guān)鍵組件。今天,我們就來深入探討
    的頭像 發(fā)表于 03-31 16:05 ?171次閱讀

    SGM790A/B/C 雙負載檢測器:低功耗負載檢測的理想之選

    SGM790A/B/C 雙負載檢測器:低功耗負載檢測的理想之選 在電子設(shè)備的設(shè)計中,負載檢測是一項至關(guān)重要的功能,它能夠幫助系統(tǒng)實時了解負載的連接或移除狀態(tài),從而實現(xiàn)電源的智能管理。今天,我們就來
    的頭像 發(fā)表于 03-24 09:15 ?498次閱讀

    高效降壓DC-DC轉(zhuǎn)換器MAX5090A/B/C的設(shè)計與應(yīng)用

    高效降壓DC-DC轉(zhuǎn)換器MAX5090A/B/C的設(shè)計與應(yīng)用 引言 在電子設(shè)計領(lǐng)域,DC-DC轉(zhuǎn)換器是不可或缺的關(guān)鍵組件,它們能夠?qū)⑤斎腚妷恨D(zhuǎn)換為適合各種電子設(shè)備使用的穩(wěn)定輸出電壓。MAX5090
    的頭像 發(fā)表于 03-13 16:05 ?467次閱讀

    PCA9543A/43B:2通道I2C總線開關(guān)的全面解析

    PCA9543A/43B:2通道I2C總線開關(guān)的全面解析 在電子設(shè)計領(lǐng)域,I2C總線開關(guān)是實現(xiàn)多設(shè)備通信和總線管理的關(guān)鍵組件。NXP的PCA9543
    的頭像 發(fā)表于 02-02 10:45 ?607次閱讀

    深度解析SPL階段A/B分區(qū)啟動:spl_ab.c代碼全拆解

    ( Secondary Program Loader ,二級程序加載器)作為系統(tǒng)啟動的早期階段,負責初始化硬件、選擇啟動分區(qū), spl_ab.c 正是 SPL 層處理 A/B 分區(qū)啟動的核心代碼。本文將從函數(shù)
    的頭像 發(fā)表于 01-20 07:07 ?1w次閱讀
    深度解析SPL階段<b class='flag-5'>A</b>/<b class='flag-5'>B</b>分區(qū)啟動:spl_ab.<b class='flag-5'>c</b>代碼全拆解

    德州儀器LM5100A/B/C和LM5101A/B/C系列高壓柵極驅(qū)動器的深度解析

    德州儀器LM5100A/B/C和LM5101A/B/C系列高壓柵極驅(qū)動器的深度解析 在電源電路設(shè)
    的頭像 發(fā)表于 01-11 18:05 ?1215次閱讀

    高壓柵極驅(qū)動器LM5100A/B/C和LM5101A/B/C:設(shè)計與應(yīng)用詳解

    高壓柵極驅(qū)動器LM5100A/B/C和LM5101A/B/C:設(shè)計與應(yīng)用詳解 在電子電路設(shè)計中,
    的頭像 發(fā)表于 01-11 17:55 ?1231次閱讀

    深入剖析LM5100A/B/C與LM5101A/B/C高壓柵極驅(qū)動器

    深入剖析LM5100A/B/C與LM5101A/B/C高壓柵極驅(qū)動器 引言 在電子設(shè)計的領(lǐng)域中,
    的頭像 發(fā)表于 01-11 17:55 ?1219次閱讀

    Texas Instruments LM5100A/B/C和LM5101A/B/C高壓柵極驅(qū)動器深度解析

    Texas Instruments LM5100A/B/C和LM5101A/B/C高壓柵極驅(qū)動器
    的頭像 發(fā)表于 01-11 17:45 ?1311次閱讀

    深度剖析LM5100A/B/C與LM5101A/B/C高壓柵極驅(qū)動器

    深度剖析LM5100A/B/C與LM5101A/B/C高壓柵極驅(qū)動器 在電子設(shè)計領(lǐng)域,高壓柵極驅(qū)
    的頭像 發(fā)表于 01-11 17:45 ?1236次閱讀

    深入剖析LM5100A/B/C和LM5101A/B/C高壓柵極驅(qū)動器

    深入剖析LM5100A/B/C和LM5101A/B/C高壓柵極驅(qū)動器 作為一名電子工程師,在設(shè)計
    的頭像 發(fā)表于 01-11 17:40 ?1183次閱讀

    三星0603貼片104電容電壓怎樣識別?

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

    請問ISM 交換機如何恢復(fù)出廠?

    請問ISM 交換機如何恢復(fù)出廠?
    發(fā)表于 08-07 06:35
    石门县| 通渭县| 五原县| 新营市| 建德市| 南召县| 察哈| 阳东县| 平阳县| 志丹县| 四会市| 新郑市| 九台市| 石城县| 武安市| 土默特右旗| 包头市| 习水县| 卓资县| 建湖县| 商南县| 文化| 梧州市| 平安县| 黄陵县| 张家川| 南康市| 洞头县| 和龙市| 夹江县| 潼关县| 巧家县| 贡觉县| 酒泉市| 沁阳市| 荥阳市| 汉阴县| 库伦旗| 平邑县| 台州市| 泸州市|