十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
return后接一個值。
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10年品質(zhì),值得信賴!
在調(diào)用這個函數(shù)的函數(shù)里面,調(diào)用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值
就聲明
int func()
在調(diào)用它的比如main里面
func()的作用就可以相當于一個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)就相當于一個常數(shù) 2
A=max(1,2)的作用就相當于A=2
這個意思。
函數(shù)的返回值通過return語句來執(zhí)行,即return后的變量或表達式的值,就為該函數(shù)的返回值(你可以根據(jù)需要自定義返回什么值),而返回值的類型是指該值你想要得到的類型,比如return a;(a的類型,你在函數(shù)體里定義的是int a;但根據(jù)需要,你要的是一個float型的返回值),于是,這樣定義一個函數(shù):float 函數(shù)名(參數(shù)列表){ int a; 函數(shù)體; …… return a;}這樣,返回值a就變成了float型。
你可以這么理解,比如我們定義了一個函數(shù)fun(),如果這個函數(shù)有返回值,那么在調(diào)用程序里面(比如主函數(shù))就可以把這個函數(shù)當成一個數(shù)使用;如果沒有返回值,那么通常他就是一個獨立的語句存在。
比如fun函數(shù)里面有個return 0;表示返回值是零,那么在調(diào)用函數(shù)里面就可以存在諸如
a=fun();b=a+fun();if(fun()=0{};……這類的語句,表示a=0;b=a+0;if(00){};等等,當然也可能是返回一個變量的值,你個指針的值是一樣的。
如果沒有return 語句,那么函數(shù)沒有返回值,調(diào)用函數(shù)里面就不能把他當做一個數(shù)值來使用,會出現(xiàn):
fun();單獨成句的語句,在fun()里面可能進行了一些操作,但不需要結(jié)果。
C語言自帶的函數(shù)通常都有返回值,計算函數(shù)返回計算結(jié)果,操作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
函數(shù)的值(或稱函數(shù)返回值)是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的值,可以通過return語句返回。
return語句的一般形式為:
return 表達式;
或者:
return (表達式);
例如:
return max;
return a+b;
return (100+200);
函數(shù)中可以有多個 return 語句,但每次調(diào)用只能有一個return 語句被執(zhí)行,所以只有一個返回值。
一旦遇到 return 語句,不管后面有沒有代碼,函數(shù)立即運行結(jié)束,將值返回。例如:
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ù)都應(yīng)定義為空類型。
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
函數(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ù)時指定的。
擴展資料
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語言運行結(jié)果中,你最先看到的是123。C語言printf函數(shù)的返回值是printf實際控制輸出的字符數(shù),那么打印的123 就是3個字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以寫為printf("%d",printf("%d",3));打印出3,即在運行結(jié)果中,你緊接著會看到3。
而打印出的3是1個字符,因此A就是1,那么printf("%d\n",A); 實際上就是printf("%d\n",1); 打印出1。
參考資料來源:百度百科-返回值