中文字幕亚洲欧美日韩在线不卡,亚洲精品动漫免费二区,国产精品人妻久久久久久,99re99视频在线视频

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

請(qǐng)注意,為官方帳戶加注星標(biāo),不要錯(cuò)過(guò)令人興奮的內(nèi)容。轉(zhuǎn)移自:嵌入式Hodgepodge交換a和b的值是學(xué)習(xí)C語(yǔ)言時(shí)非常常見(jiàn)的問(wèn)題。
最常見(jiàn)的方法是引入一個(gè)中間變量作為中間介質(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)容。
當(dāng)使用普通變量作為參數(shù)時(shí),它們實(shí)際上是在內(nèi)存塊(堆??臻g)中眾信申請(qǐng)了一個(gè)空閑塊,而不是原始的內(nèi)存塊,并且在調(diào)用該函數(shù)之后,新應(yīng)用的內(nèi)存塊將被系統(tǒng)回收。由于變量的范圍無(wú)效。
如果將指針作為實(shí)際參數(shù)傳遞,即過(guò)去的內(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ù)的類型更改為無(wú)符號(hào)16位時(shí),如果a和b的值較大,則該值a + b的值可能超出16位整數(shù)可以表示的范圍,從而導(dǎo)致編程操作錯(cuò)誤。第二種方法不存在此問(wèn)題,這是一種更好的方法。
推薦閱讀: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ù)交流小組。長(zhǎng)按以跟隨圖片中包含的官方帳戶。
免責(zé)聲明:本文內(nèi)容經(jīng)21ic授權(quán)后發(fā)布,版權(quán)歸原作者所有。該平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
本文僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)的立場(chǎng),如有任何疑問(wèn),請(qǐng)與我們聯(lián)系,謝謝!

行業(yè)信息

亚洲av天天做在线观看| 人妻大战黑人白浆狂泄| 亚洲欧美成人网天天看看| 亚洲欧美日韩精品一区一本| 在公车被弄到高潮自述| 日韩电影神马影视一区二区| 曰韩精品无码一区二区三区| 亚洲一区二区 欧美精品| 肉大榛一进一出免费视频| 中文字幕在线观看不卡一区| 黄色夫妻性生活| 高清视频在线观看www| 人妻av一区二区三区精品| 年轻丰满的继牳4伦理| 午夜精品国产精品大乳美女| 免费观看日本一区二区视频 | 久久久久久精品人妻一区四寸| 青青在线香蕉精品视频在线 | 欧美日韩一区二区三区av| 日韩一区二区肥| 伊人久久大香线蕉av不卡| 朝桐光无码视频| 精品人妻人人爽av网址| 精品亚洲国产品香蕉在线| 亚洲无码黄色片| 99精品免费久久久久久| 日韩av高清视频在线观看| 欧美综合在线24p不卡| 中文无码精品一区二区三| 亚洲精品色午夜无码专区日韩| 亚洲精品无码永久在线观看男男| 国产精品青娱乐在线观看| 久久久国产一区二区三区四区小说| 东京热久久综合久久88| 亚洲欧美精品自偷自拍另| 日韩精品一区二区三级电影| 在线成人A毛片免费播放| 农村熟妇高潮精品a片| 国产暴力强伦轩1区二区小说| 激情视频网站在线播放色| 国产精品剧情AV区二区|