這是譚浩強(qiáng)那本書上一個(gè)很典型的程序,看看書就能改了。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有睢寧縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
給你個(gè)答案參考一下:
#includestdio.h
void exchange(int *x,int *y);//此處將函數(shù)返回類型修改為void型,因?yàn)楹瘮?shù)本來就沒返回值。參數(shù)全部改為指針型。
int main(void)
{
int a,b;
printf("請輸入a,b\n");
scanf("%d%d",a,b);
exchange(a,b);//此處參數(shù)變?yōu)槿〉刂穉,b
printf("a=%d,b=%d",a,b);
return 0;
}
void exchange(int *x,int *y)//根據(jù)函數(shù)聲明一并修改
{
int *i;//所要操作的數(shù)據(jù)都是指針,所以這里緩存也要變?yōu)橹羔槨?/p>
i=x;
x=y;
y=i;
}//本來就沒返回值為啥原題要聲明成返回值為int型的函數(shù)呢?
形參是一個(gè)變量,是在引用的函數(shù)中的變量
實(shí)參也是一個(gè)變量.是在主函數(shù)中的變量.
兩個(gè)變量的使用范圍不同.
形參只在子函數(shù)中使用,實(shí)參可以在主函數(shù)中使用.
上面,實(shí)參寫成100,是說,在形參用100代進(jìn)去.
而形參只能是一個(gè)變量,用來吸收實(shí)參傳遞進(jìn)來的值,以輸出結(jié)果.
主要有兩種:(1)值傳遞:在函數(shù)調(diào)用時(shí),將實(shí)參的值復(fù)制一份傳遞到調(diào)用函數(shù)中,這樣,如果在調(diào)用函數(shù)中修改了參數(shù)的值,也不會影響到實(shí)參的值。(2)引用傳遞:與(1)相反,即會影響實(shí)參的值。如何區(qū)分它們呢?實(shí)際上,通常在定義函數(shù)時(shí),如果參數(shù)為數(shù)組、指針或引用類型時(shí),函數(shù)采用引用傳遞,否則采用值傳遞。
void?fun(int?*a,?int?*b)
{
int?*c;
c=a;a=b;b=c;
}
因?yàn)楹瘮?shù)中,形參a,b中保存的都是實(shí)參的地址值,c=a;a=b;b=c;這行代碼,只是把形參a,b的地址值進(jìn)行了互換,對調(diào)用函數(shù)的實(shí)參所保存的結(jié)果是沒有任何影響的。如果換成如下代碼:
void?fun(int?*a,?int?*b)
{
int?c;
c=*a;*a=*b;*b=c;
}
互換的是指針?biāo)缚臻g的值,即互換了調(diào)用函數(shù)的實(shí)參所保存的數(shù)值
名稱欄目:c語言定義函數(shù)時(shí)形參互換 c語言變量的值
文章出自:http://muchs.cn/article0/hjddoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App設(shè)計(jì)、做網(wǎng)站、商城網(wǎng)站、網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)