您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關c語言中return語句的使用方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
函數的返回值是指函數被調用之后,執行函數體中的代碼所得到的結果,這個結果通過 return 語句返回。
return 語句的一般形式為:return 表達式;
或者:return (表達式);
有沒有( )都是正確的,為了簡明,一般也不寫( )。例如:
return max; return a+b; return (100+200);
對C語言返回值的說明:
1) 沒有返回值的函數為空類型,用void表示。例如:
void func(){printf("http://c.biancheng.net\n");}
一旦函數的返回值類型被定義為 void,就不能再接收它的值了。
例如,下面的語句是錯誤的:int a = func();
為了使程序有良好的可讀性并減少出錯, 凡不要求返回值的函數都應定義為 void 類型。
2) return 語句可以有多個,可以出現在函數體的任意位置,但是每次調用函數只能有一個 return 語句被執行,所以只有一個返回值(少數的編程語言支持多個返回值,例如Go語言)。例如:
//返回兩個整數中較大的一個 int max(int a, int b){ if(a > b){ return a; }else{ return b; } }
如果a>b成立,就執行return a,return b不會執行;如果不成立,就執行return b,return a不會執行。
3) 函數一旦遇到 return 語句就立即返回,后面的所有語句都不會被執行到了。從這個角度看,return 語句還有強制結束函數執行的作用。例如:
//返回兩個整數中較大的一個 int max(int a, int b){ return (a>b) ? a : b; printf("Function is performed\n"); }
下面我們定義了一個判斷素數的函數,這個例子更加實用:
#include <stdio.h> int prime(int n){ int is_prime = 1, i; //n一旦小于0就不符合條件,就沒必要執行后面的代碼了,所以提前結束函數 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() 是一個用來求素數的函數。素數是自然數,它的值大于等于零,一旦傳遞給 prime() 的值小于零就沒有意義了,就無法判斷是否是素數了,所以一旦檢測到參數 n 的值小于 0,就使用 return 語句提前結束函數。
return 語句是提前結束函數的唯一辦法。return 后面可以跟一份數據,表示將這份數據返回到函數外面;return 后面也可以不跟任何數據,表示什么也不返回,僅僅用來結束函數。
更改上面的代碼,使得 return 后面不跟任何數據:#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后面不帶任何數據 } 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 后面不能帶任何數據,直接寫分號即可。
上述就是小編為大家分享的c語言中return語句的使用方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。