return是個(gè)好東西,第一個(gè)作用,也就是他的真實(shí)作用:返回值,這個(gè)返回值是和 函數(shù) 的類型有關(guān)的, 函數(shù) 的類型是什么,他的返回值就是什么。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)蘆淞,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
比方主 函數(shù) int main()
{}這里就必須有一個(gè)return,只有void時(shí)可以不用返回值。
功能函數(shù)
int fun()
{
return 1;
}
這個(gè)時(shí)候fun函數(shù)的作用就是返回一個(gè)int 類型的值,可以直接拿來用比方int a=fun();
這里就相當(dāng)于int a=1;
另外一個(gè)作用return后面的語句不會(huì)執(zhí)行,我們可以用它來結(jié)束程序
比方找出三個(gè)數(shù)種最大的一個(gè)數(shù)
void main
{
int a,b,c;
if(ab)
if(bc)
{
return printf("最大值為%d",a);
}
.....
}
在這里if(bc)
我們就可以直接得出a是最大了,就沒必要執(zhí)行下面的語句了,return治理就起到了終止語句的作用了
等用得多了還會(huì)有些妙用的,你要自己慢慢體會(huì)
return,從函數(shù)調(diào)用執(zhí)行中返回,可以分兩種情況:
1、void型
例如:
void f2()
{
int i=1;
//return;//這樣也可以,不要這一句也可以
}
2、非void型
例如:
int f1()
{
int i=1;
return 1;
//return(i); //這樣也可以
}
有時(shí)即使被調(diào)用函數(shù)是void類型 被調(diào)函數(shù)中的return也不是毫無意義的;對于void,在函數(shù)的最后一行代碼,可以不用;其他地方,因?yàn)槟阋祷睾瘮?shù)調(diào)用,所以必須要用。
對于非void,既然函數(shù)返回值類型定義為非void,那么肯定需要使用這個(gè)函數(shù)的返回值。比如返回值是函數(shù)運(yùn)行結(jié)果,或者表明函數(shù)運(yùn)行結(jié)果是成功還是失敗。這種情況,即使是函數(shù)最后一行,也需要使用。
對于有些情況,沒有return,編譯器也不會(huì)報(bào)錯(cuò),比如main函數(shù)(編譯器會(huì)默認(rèn)返回值為0,假設(shè)你的main函數(shù)返回值是int)。但是為了保持良好的習(xí)慣,還是建議使用。
比如你寫的程序編譯后需要在腳本中調(diào)用,我們可以通過檢查你的程序的結(jié)束代碼來判斷你的程序的執(zhí)行情況,成功或是失敗。這時(shí)候的檢查就依賴于你是否在main函數(shù)中正確使用了return。
擴(kuò)展資料:
舉例:
#include "stdio.h"
void function()
{printf("111111");
return;
printf("222222");
}
main()
{
function();
}
運(yùn)行結(jié)果為:屏幕上只輸出一串?dāng)?shù)字1 而沒有2。 但是如果去掉function函數(shù)中的return語句 就可以同時(shí)輸出一串?dāng)?shù)字2。這里的return其實(shí)還有個(gè)退出該程序的作用!也就是說在printf("111111");后面加了個(gè)return,就表示結(jié)束該函數(shù),返回主函數(shù)中去了!
參考資料
百度百科_return(C語言語句)
void就是無返回值類型,這第一個(gè)程序定義的fun函數(shù)沒有返回值類型,所以你調(diào)用的時(shí)候不會(huì)有任何作用,定義的函數(shù)是想將兩個(gè)數(shù)對調(diào)一下,你可以在后面加一句printf("對調(diào)后的結(jié)果為%d%d",a,b);不見得非要用return,如果你想用return話,定義函數(shù)時(shí)前面應(yīng)該有一個(gè)返回值類型,如int fun(int a,int b)則表明該函數(shù)返回的是個(gè)整型,第二個(gè)也是一樣,你調(diào)用函數(shù)fun的時(shí)候,函數(shù)中沒有任何操作。我給你舉個(gè)例子,你看你明白嗎。定義一個(gè)比較三個(gè)數(shù)大小,輸出一個(gè)較大的,int max(int x,int y,int z)
{
if (x y)
x = y;
if (x z)
x = z;
return x;
}這個(gè)就要用return,因?yàn)橐敵鲆粋€(gè)較大的數(shù),如果還不懂的話,可以hi我?。?/p>
return后接一個(gè)值。
在調(diào)用這個(gè)函數(shù)的函數(shù)里面,調(diào)用它的時(shí)候希望獲得一個(gè)值,如果不希望獲得這個(gè)值的時(shí)候,用void聲明就好。如果需要,比如說需要得到一個(gè)整形值
就聲明
int func()
在調(diào)用它的比如main里面
func()的作用就可以相當(dāng)于一個(gè)int型常數(shù)
比如外面定義了
int max(int a,int b)
{
return ab?a:b;
}
主函數(shù)里面是
main()
{
int A;
A=max(1,2);
}
這時(shí)候就是通過max計(jì)算 12 則return 一個(gè)1 ,12 則return一個(gè)2。很明顯12 所以這里max(1,2)就會(huì)return 一個(gè) 2
這時(shí)候主函數(shù)里的max(1,2)就相當(dāng)于一個(gè)常數(shù) 2
A=max(1,2)的作用就相當(dāng)于A=2
這個(gè)意思。
return x顧名思義就是返回x,如果在主函數(shù)里return 0;的話代表結(jié)束程序,如果是在其他函數(shù)里的話就是返回值,比如:
int solve()
{
int k;
xxxxxx
return k;
}
比方主函數(shù)int main()
{}這里就必須有一個(gè)return,只有void時(shí)可以不用返回值。
擴(kuò)展資料:
return 表示把程序流程從被調(diào)函數(shù)轉(zhuǎn)向主調(diào)函數(shù)并把表達(dá)式的值帶回主調(diào)函數(shù),實(shí)現(xiàn)函數(shù)值的返回,返回時(shí)可附帶一個(gè)返回值,由return后面的參數(shù)指定。
return通常是必要的,因?yàn)楹瘮?shù)調(diào)用的時(shí)候計(jì)算結(jié)果通常是通過返回值帶出的。 如果函數(shù)執(zhí)行不需要返回計(jì)算結(jié)果,也需要返回一個(gè)狀態(tài)碼來表示函數(shù)執(zhí)行的順利與否(-1和0就是最常用的狀態(tài)碼),主調(diào)函數(shù)可以通過返回值判斷被調(diào)函數(shù)的執(zhí)行情況。
參考資料來源:百度百科-return (C語言語句)