91大香蕉一区二区三区-中文字幕久久综合久久-欧美不卡一二三区精品-人妻一区一级中文字幕

C代碼交換a,b值的方式不一樣

請(qǐng)注意,為官方帳戶加注星標(biāo),不要錯(cuò)過令人興奮的內(nèi)容。

轉(zhuǎn)移自:嵌入式Hodgepodge交換a和b的值是學(xué)習(xí)C語言時(shí)非常常見的問題。

最常見的方法是引入一個(gè)中間變量作為中間介質(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;}普通變量的傳輸不會(huì)更改內(nèi)存內(nèi)容。

當(dāng)使用普通變量作為參數(shù)時(shí),它們實(shí)際上是在內(nèi)存塊(堆??臻g)中眾信申請(qǐng)了一個(gè)空閑塊,而不是原始的內(nèi)存塊,并且在調(diào)用該函數(shù)之后,新應(yīng)用的內(nèi)存塊將被系統(tǒng)回收。

由于變量的范圍無效。

如果將指針作為實(shí)際參數(shù)傳遞,即過去的內(nèi)存地址被傳遞,則操作指針指向的內(nèi)存塊將不可避免地更改內(nèi)存的內(nèi)容。

以上方法是最常用的方法。

因此,您知道如何在不使用任何其他中間變量的情況下交換a和b的值嗎?方法1:使用算術(shù)方法void change_ab(int * a,int * b){* a = * a + * b; * b = * a- * b; * a = * a- * b;}方法2:使用XOR方法void change_ab(int * a,int * b){* a = * a ^ * b; * b = * a ^ * b; * a = * a * b;}方法1具有潛力當(dāng)形式參數(shù)的類型更改為無符號(hào)16位時(shí),如果a和b的值較大,則該值a + b的值可能超出16位整數(shù)可以表示的范圍,從而導(dǎo)致編程操作錯(cuò)誤。

第二種方法不存在此問題,這是一種更好的方法。

推薦閱讀:C ++中的字符編碼轉(zhuǎn)換教您如何使用STM32Trust生成加密的固件。

ELF與十六進(jìn)制和Bin文件格式有什么區(qū)別?關(guān)注微信公眾號(hào)“ strongerHuang”,回復(fù)“ 1024”。

在后臺(tái)查看更多內(nèi)容,請(qǐng)?jiān)凇鞍凑找?guī)定加入技術(shù)交流小組。

長按以跟隨圖片中包含的官方帳戶。

免責(zé)聲明:本文內(nèi)容經(jīng)21ic授權(quán)后發(fā)布,版權(quán)歸原作者所有。

該平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

本文僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)的立場(chǎng),如有任何疑問,請(qǐng)與我們聯(lián)系,謝謝!

行業(yè)信息

日韩欧美中文字幕av| 国产精品一区二区有码| 日本欧美视频在线观看免费| 亚洲一区二区三区在线免费| 亚洲熟妇中文字幕五十路| 国产农村妇女成人精品| 午夜视频在线观看日韩| 婷婷色香五月综合激激情| 后入美臀少妇一区二区| 午夜精品在线视频一区| 久久精品视频就在久久| 夫妻性生活动态图视频| 免费黄色一区二区三区| 人妻巨大乳一二三区麻豆| 99久久国产综合精品二区| 亚洲精品一区二区三区免| 欧美黑人黄色一区二区| 日韩蜜桃一区二区三区| 中国美女偷拍福利视频| 女人高潮被爽到呻吟在线观看| 亚洲综合色在线视频香蕉视频| 沐浴偷拍一区二区视频| 中文字幕人妻一区二区免费| 亚洲中文字幕在线观看黑人| 色综合久久六月婷婷中文字幕| 欧美老太太性生活大片| 91亚洲国产成人久久| 亚洲婷婷开心色四房播播| 五月婷婷六月丁香在线观看| 91欧美日韩一区人妻少妇| 六月丁香六月综合缴情| 欧洲日韩精品一区二区三区| 欧美av人人妻av人人爽蜜桃| 亚洲熟女国产熟女二区三区| 好吊视频有精品永久免费| 国产在线一区中文字幕| 少妇熟女精品一区二区三区| 激情少妇一区二区三区| 国产日韩欧美一区二区| 人妻少妇av中文字幕乱码高清| 青青草草免费在线视频|