這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)c語(yǔ)言中return語(yǔ)句的使用方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、云龍ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的云龍網(wǎng)站制作公司
函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的代碼所得到的結(jié)果,這個(gè)結(jié)果通過(guò) return 語(yǔ)句返回。
return 語(yǔ)句的一般形式為:return 表達(dá)式;
或者:return (表達(dá)式);
有沒(méi)有( )都是正確的,為了簡(jiǎn)明,一般也不寫( )。例如:
return max; return a+b; return (100+200);
對(duì)C語(yǔ)言返回值的說(shuō)明:
1) 沒(méi)有返回值的函數(shù)為空類型,用void表示。例如:
void func(){printf("http://c.biancheng.net\n");}
一旦函數(shù)的返回值類型被定義為 void,就不能再接收它的值了。
例如,下面的語(yǔ)句是錯(cuò)誤的:int a = func();
為了使程序有良好的可讀性并減少出錯(cuò), 凡不要求返回值的函數(shù)都應(yīng)定義為 void 類型。
2) return 語(yǔ)句可以有多個(gè),可以出現(xiàn)在函數(shù)體的任意位置,但是每次調(diào)用函數(shù)只能有一個(gè) return 語(yǔ)句被執(zhí)行,所以只有一個(gè)返回值(少數(shù)的編程語(yǔ)言支持多個(gè)返回值,例如Go語(yǔ)言)。例如:
//返回兩個(gè)整數(shù)中較大的一個(gè) int max(int a, int b){ if(a > b){ return a; }else{ return b; } }
如果a>b成立,就執(zhí)行return a,return b不會(huì)執(zhí)行;如果不成立,就執(zhí)行return b,return a不會(huì)執(zhí)行。
3) 函數(shù)一旦遇到 return 語(yǔ)句就立即返回,后面的所有語(yǔ)句都不會(huì)被執(zhí)行到了。從這個(gè)角度看,return 語(yǔ)句還有強(qiáng)制結(jié)束函數(shù)執(zhí)行的作用。例如:
//返回兩個(gè)整數(shù)中較大的一個(gè) int max(int a, int b){ return (a>b) ? a : b; printf("Function is performed\n"); }
下面我們定義了一個(gè)判斷素?cái)?shù)的函數(shù),這個(gè)例子更加實(shí)用:
#includeint prime(int n){ int is_prime = 1, i; //n一旦小于0就不符合條件,就沒(méi)必要執(zhí)行后面的代碼了,所以提前結(jié)束函數(shù) if(n < 0){ return -1; } for(i=2; i 0){ printf("%d is a prime number.\n", num); }else{ printf("%d is not a prime number.\n", num); } return 0; }
prime() 是一個(gè)用來(lái)求素?cái)?shù)的函數(shù)。素?cái)?shù)是自然數(shù),它的值大于等于零,一旦傳遞給 prime() 的值小于零就沒(méi)有意義了,就無(wú)法判斷是否是素?cái)?shù)了,所以一旦檢測(cè)到參數(shù) n 的值小于 0,就使用 return 語(yǔ)句提前結(jié)束函數(shù)。
return 語(yǔ)句是提前結(jié)束函數(shù)的唯一辦法。return 后面可以跟一份數(shù)據(jù),表示將這份數(shù)據(jù)返回到函數(shù)外面;return 后面也可以不跟任何數(shù)據(jù),表示什么也不返回,僅僅用來(lái)結(jié)束函數(shù)。
更改上面的代碼,使得 return 后面不跟任何數(shù)據(jù):#include
void prime(int n){ int is_prime = 1, i; if(n < 0){ printf("%d is a illegal number.\n", n); return; //return后面不帶任何數(shù)據(jù) } for(i=2; i0){ printf("%d is a prime number.\n", n); }else{ printf("%d is not a prime number.\n", n); } } int main(){ int num; scanf("%d", &num); prime(num); return 0; }
prime() 的返回值是 void,return 后面不能帶任何數(shù)據(jù),直接寫分號(hào)即可。
上述就是小編為大家分享的c語(yǔ)言中return語(yǔ)句的使用方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。