C語言.定義一個函數(shù)實(shí)現(xiàn)交換兩個整數(shù)的功能,(用指針做函數(shù)參數(shù))。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)漢川免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
要用函數(shù)實(shí)現(xiàn)兩個數(shù)的交換,則函數(shù)參數(shù)必須定義為指針形式,否則函數(shù)中對數(shù)值的修改將不會影響主調(diào)函數(shù),這是C語言的規(guī)則。
不知道你要交換的兩個變量類型,所以這里以整型數(shù)據(jù)交換為例,以下swap函數(shù)實(shí)現(xiàn)了交換兩個整型變量值的功能:include stdio.h// 交換給定指針指向整型變量的值。
int *p, int *q){ int temp;//定義臨時變量 存放中間值 temp = *p;p = *q;q = temp;} 注意:不能直接寫void swap(int i, int j);因?yàn)槟侵皇桥R時變量,函數(shù)調(diào)用完后,便釋放空間,兩個值并沒有交換。
而嚴(yán)重的情況是,該單元的數(shù)據(jù)可能是有用的,因此fun2()不但沒有實(shí)現(xiàn)兩個數(shù)的交換,反而給系統(tǒng)的穩(wěn)定性帶來威脅。fun3(),將int賦值給int *,編譯錯誤。fun4()是正確的。
C語言中交換兩個變量需要用到一個臨時變量temp。
要用函數(shù)實(shí)現(xiàn)兩個數(shù)的交換,則函數(shù)參數(shù)必須定義為指針形式,否則函數(shù)中對數(shù)值的修改將不會影響主調(diào)函數(shù),這是C語言的規(guī)則。
利用指針作函數(shù)參數(shù),設(shè)計(jì)一函數(shù)實(shí)現(xiàn)將n個元素進(jìn)行排序 將這n個元素存在數(shù)組里,然后用指針類型參數(shù)接收即作為形參,然后采用排序算法對這些元素進(jìn)行排序即可 C語言,編寫一函數(shù),其功能是求一個長整數(shù)各位數(shù)字之和。
借助中間變量完成,此方法直觀,易理解,使用最多 不需要中間變量,通過變量身的運(yùn)算完成交換。
n){ int temp=*m;m=*n;n=temp;} int main(){ int a=5,b=6;swap(&a,&b);printf(a=%d b=%d\n,a,b);return 0;} 如上,就可以交換a,b兩個數(shù),因?yàn)閏中沒有引用傳遞,所以只能用指針實(shí)現(xiàn)交換。
利用指針作函數(shù)參數(shù),設(shè)計(jì)一函數(shù)實(shí)現(xiàn)將n個元素進(jìn)行排序 將這n個元素存在數(shù)組里,然后用指針類型參數(shù)接收即作為形參,然后采用排序算法對這些元素進(jìn)行排序即可 C語言,編寫一函數(shù),其功能是求一個長整數(shù)各位數(shù)字之和。
注意形式參數(shù)和實(shí)際參數(shù)的區(qū)別,主函數(shù)中的x,y是實(shí)際參數(shù),swap函數(shù)中的a,b是形式參數(shù)。他們各有自己的存儲空間,互不干擾。
你這個采用的是值交換,在調(diào)用的函數(shù)里換完后,函數(shù)生命期結(jié)束死掉,而main函數(shù)里的值還是沒有變化。
文章標(biāo)題:C語言用函數(shù)轉(zhuǎn)換兩個數(shù) c語言轉(zhuǎn)換兩個數(shù)的值
網(wǎng)址分享:http://chinadenli.net/article27/deisdjj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、軟件開發(fā)、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、App開發(fā)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)