返回值的意思是將函數(shù)實(shí)現(xiàn)的結(jié)果返回給調(diào)用者。
創(chuàng)新互聯(lián)公司主要企業(yè)基礎(chǔ)官網(wǎng)建設(shè),電商平臺(tái)建設(shè),移動(dòng)手機(jī)平臺(tái),微信小程序開(kāi)發(fā)等一系列專(zhuān)為中小企業(yè)按需設(shè)計(jì)網(wǎng)站產(chǎn)品體系;應(yīng)對(duì)中小企業(yè)在互聯(lián)網(wǎng)運(yùn)營(yíng)的各種問(wèn)題,為中小企業(yè)在互聯(lián)網(wǎng)的運(yùn)營(yíng)中保駕護(hù)航。
按標(biāo)準(zhǔn)來(lái)說(shuō),C的main函數(shù)是需要有返回值的。標(biāo)準(zhǔn)中main函數(shù)返回類(lèi)型是int的,所以需要一個(gè)返回值。但是由于歷史原因,很多地方可以看到?jīng)]有返回值的main。
比如直接main()或者說(shuō)void main() 但是這樣一般編譯器也不會(huì)認(rèn)為錯(cuò)誤,不過(guò)建議還是寫(xiě)標(biāo)準(zhǔn)的C的main函數(shù),最好有一個(gè)返回值,0表示正常退出。
擴(kuò)展資料:
常用庫(kù)函數(shù)有:
scanf格式輸入函數(shù)
printf格式輸出函數(shù)
systemdos命令函數(shù)
sort排序
main主函數(shù)
fgets文件讀取字符串函數(shù)
fputs文件寫(xiě)入字符串函數(shù)
Return
就是返回值,可以返回指針
或者其他數(shù)據(jù)類(lèi)型,這個(gè)根據(jù)你被調(diào)用這個(gè)函數(shù)的功能,
例如
main
函數(shù)中經(jīng)常返回0,main函數(shù)是系統(tǒng)調(diào)用函數(shù),開(kāi)啟一個(gè)進(jìn)程,返回0
表示進(jìn)程正常終止,其他異常終止
根據(jù)函數(shù)的類(lèi)型函數(shù)的返回值功能也不同
我覺(jué)得主要有一下幾類(lèi)
第一類(lèi)
:
返回的是狀態(tài),如:
main函數(shù)
第二類(lèi)
:
返回運(yùn)算結(jié)果
如:int
fn(int
a+b)
{return
a+b;}
第三類(lèi)
: 其他
至于函數(shù)返回到那里,誰(shuí)調(diào)用這個(gè)函數(shù),函數(shù)就返回給誰(shuí),MAIN函數(shù)返回給系統(tǒng)
①為什么需要return?
為了回答這個(gè)問(wèn)題,
我打算用 模塊思維 來(lái)解釋。
②定義模塊(形參模塊)
定義函數(shù):f(s)(a,b)
滿(mǎn)足公式:s=a+b
函數(shù)名:f(s)
形參: a,b(公式中的 變量 )
函數(shù)返回值:return s
③調(diào)用模塊(實(shí)參模塊)
主函數(shù):main()表示用戶(hù)自己編寫(xiě)的部分
調(diào)用函數(shù):f(s)(1,2)
滿(mǎn)足公式:x=f(s)(1,2)
函數(shù)名:f(s)和定義函數(shù)一致,產(chǎn)生調(diào)用
實(shí)參 :1,2( 賦值 給公式的值)
求值:printf("%d\n",x),求x的值?
④值的傳遞過(guò)程
調(diào)用模塊 中調(diào)用函數(shù)x=f(s)(1,2)
將實(shí)參1和2的值賦值給
定義模塊 中的形參a和b
(實(shí)參到形參是單向傳遞,不可逆)
定義模塊計(jì)算出s=a+b=1+2=3
定義模塊 中的return s
將s的值賦值給
調(diào)用模塊 中的函數(shù)f(s)(1,2)
即x=f(s)(1,2)=s=3
~
return s的作用
就是將定義模塊中的s
賦值 給調(diào)用模塊中的調(diào)用函數(shù)
如果沒(méi)有return s
調(diào)用模塊中的調(diào)用函數(shù)將永遠(yuǎn)沒(méi)有定值
即所求x 無(wú)定值
這一點(diǎn)和數(shù)學(xué)不一樣,
數(shù)學(xué)中
同一函數(shù)名的值是 通用 的,
C語(yǔ)言中
定義函數(shù)和調(diào)用函數(shù)的值是 隔離 的,
盡管函數(shù)名一樣
如果不賦值,調(diào)用函數(shù)永遠(yuǎn)無(wú)定值。