在c中任何函數(shù)都有返回值,這個是定下的,主函數(shù)也有返回值
成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、建甌網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為建甌等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
返回值分幾個方面,逐個說一下
主函數(shù)的返回值,這個一般用戶用不到,程序執(zhí)行的時候,系統(tǒng)會根據(jù)這個返回值來判斷程序的運行結(jié)果
不管定義神馬類型的返回值,在tc中默認(rèn)為void型(這個可以省略),可以根據(jù)需要自己定義都可以。
vc中好像必須寫,要不然編譯系統(tǒng)提示出錯
子函數(shù)的返回值,分兩類
void,也就是在不需要子函數(shù)返回數(shù)值的時候用到。注意的是不需要不代表沒有返回值。調(diào)用成功返回1,不成功返回0,我好像在哪里看到過這個說法,我不確定
非void型,這個返回值類型根據(jù)定義來返回
值得注意的是,在子函數(shù)中,只要執(zhí)行return一定結(jié)束子函數(shù),不管后面有多少代碼
一些系統(tǒng)自帶的函數(shù),如printf,scanf等,最好了解他的返回值
①為什么需要return?
為了回答這個問題,
我打算用 模塊思維 來解釋。
②定義模塊(形參模塊)
定義函數(shù):f(s)(a,b)
滿足公式:s=a+b
函數(shù)名:f(s)
形參: a,b(公式中的 變量 )
函數(shù)返回值:return s
③調(diào)用模塊(實參模塊)
主函數(shù):main()表示用戶自己編寫的部分
調(diào)用函數(shù):f(s)(1,2)
滿足公式:x=f(s)(1,2)
函數(shù)名:f(s)和定義函數(shù)一致,產(chǎn)生調(diào)用
實參 :1,2( 賦值 給公式的值)
求值:printf("%d\n",x),求x的值?
④值的傳遞過程
調(diào)用模塊 中調(diào)用函數(shù)x=f(s)(1,2)
將實參1和2的值賦值給
定義模塊 中的形參a和b
(實參到形參是單向傳遞,不可逆)
定義模塊計算出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ù)
如果沒有return s
調(diào)用模塊中的調(diào)用函數(shù)將永遠(yuǎn)沒有定值
即所求x 無定值
這一點和數(shù)學(xué)不一樣,
數(shù)學(xué)中
同一函數(shù)名的值是 通用 的,
C語言中
定義函數(shù)和調(diào)用函數(shù)的值是 隔離 的,
盡管函數(shù)名一樣
如果不賦值,調(diào)用函數(shù)永遠(yuǎn)無定值。
你可以這么理解,比如我們定義了一個函數(shù)fun(),如果這個函數(shù)有返回值,那么在調(diào)用程序里面(比如主函數(shù))就可以把這個函數(shù)當(dāng)成一個數(shù)使用;如果沒有返回值,那么通常他就是一個獨立的語句存在。
比如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();單獨成句的語句,在fun()里面可能進(jìn)行了一些操作,但不需要結(jié)果。
C語言自帶的函數(shù)通常都有返回值,計算函數(shù)返回計算結(jié)果,操作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
unsigned char keyvalue;需要賦初值。如果P3!=0x7E P3!= 0X7D,那返回值就是keyvalue的初值,如果沒賦值這個數(shù)是一個隨機的。