一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
創(chuàng)新互聯(lián)咨詢熱線:028-86922220,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域10年,包括成都資質(zhì)代辦等多個方面擁有多年的網(wǎng)站制作經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián),為網(wǎng)站保駕護(hù)航!
函數(shù)可以有返回值,也可以沒有返回值。
1、沒有返回值的函數(shù):功能只是完成一個操作,應(yīng)將返回值類型定義為void,函數(shù)體內(nèi)可沒有return語句。
2、有返回值的函數(shù):函數(shù)的最后會有一個返回值return,可以用來獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
擴(kuò)展資料
C程序中的print函數(shù):
是這樣寫的:printf("%d\n",printf("%d",printf("%d",i)));
一共有三個printf函數(shù),我們可以使用一些代號來簡化這個printf函數(shù),如下:
代號A: printf("%d",printf("%d",i));
代號B: printf("%d",i)
則C程序代碼可以簡化為:printf("%d\n",A); 那么我們就先來求A。而A,又可以簡化為:printf("%d",B);那么就先來求B。
B是 printf("%d",i),打印出“123”,即在C語言運(yùn)行結(jié)果中,你最先看到的是123。C語言printf函數(shù)的返回值是printf實(shí)際控制輸出的字符數(shù),那么打印的123 就是3個字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以寫為printf("%d",printf("%d",3));打印出3,即在運(yùn)行結(jié)果中,你緊接著會看到3。
而打印出的3是1個字符,因此A就是1,那么printf("%d\n",A); 實(shí)際上就是printf("%d\n",1); 打印出1。
參考資料來源:百度百科-返回值
當(dāng)然是由函數(shù)決定的啊:
比如聲明一個函數(shù)
int prot(int *, int);
那么這個函數(shù)的返回值int型返回值。
可以寫成return XX --XX是int型,如果這里你寫成其它型的(如A說的),編譯會報(bào)錯
再就是函數(shù)聲明寫成prot(int *, int), //不給他聲明返回類型。
PC機(jī)會隱式的讓返回值為int型,如果你return 0.32, 返回去的值其實(shí)是0.
你可以這么理解,比如我們定義了一個函數(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ù)通常都有返回值,計(jì)算函數(shù)返回計(jì)算結(jié)果,操作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
函數(shù)的返回值通過return語句來執(zhí)行,即return后的變量或表達(dá)式的值,就為該函數(shù)的返回值(你可以根據(jù)需要自定義返回什么值),而返回值的類型是指該值你想要得到的類型,比如return
a;(a的類型,你在函數(shù)體里定義的是int
a;但根據(jù)需要,你要的是一個float型的返回值),于是,這樣定義一個函數(shù):
float
函數(shù)名(參數(shù)列表)
{
int
a;
函數(shù)體;
……
return
a;
}
這樣,返回值a就變成了float型。
返回值的意思是將函數(shù)實(shí)現(xiàn)的結(jié)果返回給調(diào)用者。
按標(biāo)準(zhǔn)來說,C的main函數(shù)是需要有返回值的。標(biāo)準(zhǔn)中main函數(shù)返回類型是int的,所以需要一個返回值。但是由于歷史原因,很多地方可以看到?jīng)]有返回值的main。
比如直接main()或者說void main() 但是這樣一般編譯器也不會認(rèn)為錯誤,不過建議還是寫標(biāo)準(zhǔn)的C的main函數(shù),最好有一個返回值,0表示正常退出。
擴(kuò)展資料:
常用庫函數(shù)有:
scanf格式輸入函數(shù)
printf格式輸出函數(shù)
systemdos命令函數(shù)
sort排序
main主函數(shù)
fgets文件讀取字符串函數(shù)
fputs文件寫入字符串函數(shù)