函數(shù)的返回值通過return語句來執(zhí)行,即return后的變量或表達(dá)式的值,就為該函數(shù)的返回值(你可以根據(jù)需要自定義返回什么值),而返回值的類型是指該值你想要得到的類型,比如return

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比伊吾網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式伊吾網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋伊吾地區(qū)。費(fèi)用合理售后完善,十余年實體公司更值得信賴。
a;(a的類型,你在函數(shù)體里定義的是int
a;但根據(jù)需要,你要的是一個float型的返回值),于是,這樣定義一個函數(shù):
float
函數(shù)名(參數(shù)列表)
{
int
a;
函數(shù)體;
……
return
a;
}
這樣,返回值a就變成了float型。
首先說明一下你的程序的問題與缺陷:
1: return語句 只能返回一個值,而不能寫成 “return h,l;”
2:你在main()中定義了h,l,而在調(diào)用cal()時,又定義了h,l,這兩個h,l是完全不同的兩組。即使你為cal()里的h,l賦值,那么返回到main()時,h,l仍然為0.
3:你在cal()里的scanf寫的不好。兩個%d之間最好什么都沒有,加了逗號,可能會在讀取時,h,l賦值錯誤。(具體請看我下面的程序)
下面是我的解法:
先問一下,你用的是TC2.0還是VC6.0?
如果是VC6.0,那么可以使用引用類型:
/*法一:使用引用*/
#includestdio.h
void?cal(intch,?intcl);????/*聲明ch,cl為引用類型*/
void?main()
{
int?h=0,l=0;
cal(h,?l);????????????/*這里將h,l傳入cal()*/
printf("%d,%d",h,l);????
}
void?cal(int?ch,?int?cl)
{
scanf("%d%d",ch,cl);/*這里為ch,cl賦值*/
}
TC2.0中好像不支持引用類型。我沒測試。
-------------------------
如果是TC2.0,那么可以使用指針:
/*法二:使用指針*/
#includestdio.h
void?cal(int?*ph,?int?*pl);????/*這里將ph,pl聲明為指針*/
void?main()
{
int?h=0,l=0;
cal(h,?l);????????/*將變量h,l地址傳過去。*/
printf("%d,%d",h,l);
}
void?cal(int?*ph,?int?*pl)
{
scanf("%d%d",ph,pl);????/*為ph,pl賦值*/
}
------------------
以上兩種方法都可以解決你說的問題。
有問題請追問。
return后接一個值。
在調(diào)用這個函數(shù)的函數(shù)里面,調(diào)用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值
就聲明
int func()
在調(diào)用它的比如main里面
func()的作用就可以相當(dāng)于一個int型常數(shù)
比如外面定義了
int max(int a,int b)
{
return ab?a:b;
}
主函數(shù)里面是
main()
{
int A;
A=max(1,2);
}
這時候就是通過max計算 12 則return 一個1 ,12 則return一個2。很明顯12 所以這里max(1,2)就會return 一個 2
這時候主函數(shù)里的max(1,2)就相當(dāng)于一個常數(shù) 2
A=max(1,2)的作用就相當(dāng)于A=2
這個意思。
你可以這么理解,比如我們定義了一個函數(shù)fun(),如果這個函數(shù)有返回值,那么在調(diào)用程序里面(比如主函數(shù))就可以把這個函數(shù)當(dāng)成一個數(shù)使用;如果沒有返回值,那么通常他就是一個獨(dú)立的語句存在。
比如fun函數(shù)里面有個return 0;表示返回值是零,那么在調(diào)用函數(shù)里面就可以存在諸如
a=fun();b=a+fun();if(fun()=0{};……這類的語句,表示a=0;b=a+0;if(00){};等等,當(dāng)然也可能是返回一個變量的值,你個指針的值是一樣的。
如果沒有return 語句,那么函數(shù)沒有返回值,調(diào)用函數(shù)里面就不能把他當(dāng)做一個數(shù)值來使用,會出現(xiàn):
fun();單獨(dú)成句的語句,在fun()里面可能進(jìn)行了一些操作,但不需要結(jié)果。
C語言自帶的函數(shù)通常都有返回值,計算函數(shù)返回計算結(jié)果,操作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
名稱欄目:c語言如何從函數(shù)中返回值 c語言中函數(shù)返回值是什么意思
本文鏈接:http://www.chinadenli.net/article30/dddjeso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、標(biāo)簽優(yōu)化、搜索引擎優(yōu)化、微信小程序、云服務(wù)器、
聲明:本網(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)