“return”是用來返回函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的代碼所得到的結(jié)果的。“return”語句的一般形式為:“return 表達(dá)式;”;“return”語句可以有多個,但每次調(diào)用函數(shù)只能有一個“return”語句被執(zhí)行,即只有一個返回值。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鲅魚圈網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的代碼所得到的結(jié)果,這個結(jié)果通過 return 語句返回。
return 語句的一般形式為:return 表達(dá)式;
或者:return (表達(dá)式);
有沒有( )都是正確的,為了簡明,一般也不寫( )。例如:
return max; return a+b; return (100+200);
對C語言返回值的說明:
1) 沒有返回值的函數(shù)為空類型,用void表示。例如:
void func(){printf("http://c.biancheng.net\\n");}
一旦函數(shù)的返回值類型被定義為 void,就不能再接收它的值了。
例如,下面的語句是錯誤的:int a = func();
為了使程序有良好的可讀性并減少出錯, 凡不要求返回值的函數(shù)都應(yīng)定義為 void 類型。
2) return 語句可以有多個,可以出現(xiàn)在函數(shù)體的任意位置,但是每次調(diào)用函數(shù)只能有一個 return 語句被執(zhí)行,所以只有一個返回值(少數(shù)的編程語言支持多個返回值,例如Go語言)。例如:
//返回兩個整數(shù)中較大的一個 int max(int a, int b){ if(a > b){ return a; }else{ return b; } }
如果a>b成立,就執(zhí)行return a,return b不會執(zhí)行;如果不成立,就執(zhí)行return b,return a不會執(zhí)行。
3) 函數(shù)一旦遇到 return 語句就立即返回,后面的所有語句都不會被執(zhí)行到了。從這個角度看,return 語句還有強(qiáng)制結(jié)束函數(shù)執(zhí)行的作用。例如:
//返回兩個整數(shù)中較大的一個 int max(int a, int b){ return (a>b) ? a : b; printf("Function is performed\\n"); }
下面我們定義了一個判斷素數(shù)的函數(shù),這個例子更加實(shí)用:
#include <stdio.h> int prime(int n){ int is_prime = 1, i; //n一旦小于0就不符合條件,就沒必要執(zhí)行后面的代碼了,所以提前結(jié)束函數(shù) if(n < 0){ return -1; } for(i=2; i<n; i++){ if(n % i == 0){ is_prime = 0; break; } } return is_prime; } int main(){ int num, is_prime; scanf("%d", &num); is_prime = prime(num); if(is_prime < 0){ printf("%d is a illegal number.\\n", num); }else if(is_prime > 0){ printf("%d is a prime number.\\n", num); }else{ printf("%d is not a prime number.\\n", num); } return 0; }
prime() 是一個用來求素數(shù)的函數(shù)。素數(shù)是自然數(shù),它的值大于等于零,一旦傳遞給 prime() 的值小于零就沒有意義了,就無法判斷是否是素數(shù)了,所以一旦檢測到參數(shù) n 的值小于 0,就使用 return 語句提前結(jié)束函數(shù)。
return 語句是提前結(jié)束函數(shù)的唯一辦法。return 后面可以跟一份數(shù)據(jù),表示將這份數(shù)據(jù)返回到函數(shù)外面;return 后面也可以不跟任何數(shù)據(jù),表示什么也不返回,僅僅用來結(jié)束函數(shù)。
更改上面的代碼,使得 return 后面不跟任何數(shù)據(jù):#include <stdio.h>
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; i<n; i++){ if(n % i == 0){ is_prime = 0; break; } } if(is_prime > 0){ 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ù),直接寫分號即可。
推薦教程:《C語言》
網(wǎng)站標(biāo)題:c語言中return的用法是什么?
地址分享:http://www.rwnh.cn/article12/cgjidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、App開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站排名、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)