函數(shù)的值(或稱函數(shù)返回值)是指函數(shù)被調用之后,執(zhí)行函數(shù)體中的程序段所取得的值,可以通過return語句返回。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設,為客戶提供網(wǎng)站設計、成都網(wǎng)站設計、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站建設,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。
return語句的一般形式為:
return 表達式;
或者:
return (表達式);
例如:
return max;
return a+b;
return (100+200);
函數(shù)中可以有多個 return 語句,但每次調用只能有一個return 語句被執(zhí)行,所以只有一個返回值。
一旦遇到 return 語句,不管后面有沒有代碼,函數(shù)立即運行結束,將值返回。例如:
int func(){
int a=100, b=200, c;
return a+b;
return a*b;
return b/a;
}
返回值始終 a+b 的值,也就是300。
沒有返回值的函數(shù)為空類型,用void進行說明。例如:
void func(){
printf("Hello world!\n");
}
一旦函數(shù)的返回值類型被定義為 void,就不能再接收它的值了。例如,下面的語句是錯誤的:
int a = func();
為了使程序有良好的可讀性并減少出錯, 凡不要求返回值的函數(shù)都應定義為空類型。
所謂函數(shù)返回值是一個函數(shù)在運算結束以后向調用它的母函數(shù)或者系統(tǒng)反饋一個值,這個值可以是各種變量類型.
舉個簡單的例子:
int add(int a,int b)
{
return (a+b);
}
int main()
{
int res;
res=add(3,4);
printf("%d",res);
return 0;
}
在主函數(shù)main中調用子函數(shù)add,并傳遞參數(shù)3和4過去,add經(jīng)過運算后得到值7,通過return語句將得到的值返回給調用它的main函數(shù)供其使用,而在main中,返回值被用于給res賦值。
函數(shù)返回值就可以理解為解決一個問題以后得到的結論,把這個結論交給別人,就像寫在書上成為一個定理,來讓別人使用。
①為什么需要return?
為了回答這個問題,
我打算用 模塊思維 來解釋。
②定義模塊(形參模塊)
定義函數(shù):f(s)(a,b)
滿足公式:s=a+b
函數(shù)名:f(s)
形參: a,b(公式中的 變量 )
函數(shù)返回值:return s
③調用模塊(實參模塊)
主函數(shù):main()表示用戶自己編寫的部分
調用函數(shù):f(s)(1,2)
滿足公式:x=f(s)(1,2)
函數(shù)名:f(s)和定義函數(shù)一致,產(chǎn)生調用
實參 :1,2( 賦值 給公式的值)
求值:printf("%d\n",x),求x的值?
④值的傳遞過程
調用模塊 中調用函數(shù)x=f(s)(1,2)
將實參1和2的值賦值給
定義模塊 中的形參a和b
(實參到形參是單向傳遞,不可逆)
定義模塊計算出s=a+b=1+2=3
定義模塊 中的return s
將s的值賦值給
調用模塊 中的函數(shù)f(s)(1,2)
即x=f(s)(1,2)=s=3
~
return s的作用
就是將定義模塊中的s
賦值 給調用模塊中的調用函數(shù)
如果沒有return s
調用模塊中的調用函數(shù)將永遠沒有定值
即所求x 無定值
這一點和數(shù)學不一樣,
數(shù)學中
同一函數(shù)名的值是 通用 的,
C語言中
定義函數(shù)和調用函數(shù)的值是 隔離 的,
盡管函數(shù)名一樣
如果不賦值,調用函數(shù)永遠無定值。
返回值的意思是將函數(shù)實現(xiàn)的結果返回給調用者。
按標準來說,C的main函數(shù)是需要有返回值的。標準中main函數(shù)返回類型是int的,所以需要一個返回值。但是由于歷史原因,很多地方可以看到?jīng)]有返回值的main。
比如直接main()或者說void main() 但是這樣一般編譯器也不會認為錯誤,不過建議還是寫標準的C的main函數(shù),最好有一個返回值,0表示正常退出。
擴展資料:
常用庫函數(shù)有:
scanf格式輸入函數(shù)
printf格式輸出函數(shù)
systemdos命令函數(shù)
sort排序
main主函數(shù)
fgets文件讀取字符串函數(shù)
fputs文件寫入字符串函數(shù)
return后接一個值。\r\n在調用這個函數(shù)的函數(shù)里面,調用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值\r\n就聲明\r\nint func()\r\n在調用它的比如main里面\r\nfunc()的作用就可以相當于一個int型常數(shù)\r\n比如外面定義了\r\nint max(int a,int b)\r\n{\r\nreturn ab?a:b;\r\n}\r\n主函數(shù)里面是\r\nmain()\r\n{\r\nint A;\r\nA=max(1,2);\r\n}\r\n這時候就是通過max計算 12 則return 一個1 ,1
回答于?2022-11-16