void函式可以return嗎 自創函式

2021-10-12 00:01:01 字數 2158 閱讀 2758

1、自創函式

自定義函式的一般形式:【資料型別說明】函式名稱(【引數】)

預設型別為int,自定義函式盡量放在main函式之前,如果需要放在main函式之後,就要先在main函式之前做宣告。

宣告格式: [資料型別說明] 函式名稱 (【引數】)

自定義函式的時候,需要用到函式呼叫。

函式呼叫的格式為:函式名([引數]);

在函式中不需要函式引數的稱之為無參函式,在函式中需要函式引數的稱之為有參函式。

有參函式和無參函式的唯一區別在於:函式()中多了乙個引數列表。

有參函式更為靈活,輸出的內容可以隨著n的改變而隨意變動,只要在main函式中傳遞乙個引數就可以了

而在無參函式中輸出的相對就比較固定,當需要改動的時候還需要到自定義的方法內改變迴圈變數的值。

a、將實參傳遞到形參中的自定義函式中,輸出結果

#include

int multidouble(int x) //x是形參

int main()

int x = 10 ;

printf("x=%dn",multidouble(x));//x是實參

return 0;

2、函式的返回值

函式的值只能通過return語句返回主調函式

return表示式 或者為:return(表示式);

沒有返回值的函式,返回型別void

void函式中可以有執行**塊,但是不能有返回值

void函式中如果有return語句,該語句只能起到結束函式執行的功能。其格式為:return;

3、遞迴函式

遞迴函式特點:

每一級函式呼叫時都有自己的變數,但是函式**並不會得到複製,如計算5的階乘時每遞推一次變數都不同;

每次呼叫都會有一次返回,如計算5的階乘時每遞推一次都返回進行下一次;

遞迴函式中,位於遞迴呼叫前的語句和各級被呼叫函式具有相同的執行順序;

遞迴函式中,位於遞迴呼叫後的語句的執行順序和各個被呼叫函式的順序相反;

遞迴函式中必須有終止語句。

一句話總結遞迴:自我呼叫且有完成狀態

猴子第一天摘下n個桃子,當時就吃了一半,還不過癮,就又多吃了乙個。第二天又將剩下的桃子吃掉一半,又多吃了乙個。以後每天都吃前一天剩下的一半零乙個。到第10天在想吃的時候就剩乙個桃子了,問第一天共摘下來多少個桃子?並反向列印每天所剩桃子數。

#include

int getpeachnumber(int n)

int num;

if(n==10)

return 1; //布林型別返回1為真

else

num = (getpeachnumber(n+1)+1)*2;

printf("第%d天所剩桃子%d個n", n, num);

return num;

int main()

int num = getpeachnumber(1);

printf("猴子第一天摘了:%d個桃子。n", num);

return 0;

有5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第3個人,又說比第2人大兩歲。問第2個人,說比第1個人大兩歲。最後 問第1個人,他說是10歲。請問第5個人多大?

#include

int dfs(int n) {

return n == 1 ? 10 : dfs(n - 1) + 2;

int main()

printf("第1個人的年齡是%d歲n", dfs(1));

printf("第2個人的年齡是%d歲n", dfs(2));

printf("第3個人的年齡是%d歲n", dfs(3));

printf("第4個人的年齡是%d歲n", dfs(4));

printf("第5個人的年齡是%d歲n", dfs(5));

return 0;

迴圈函式return可以預設

var arr 11 22,33 44 var ob arr.some item 正確 var ob arr.some item 也正確 檢查陣列是否有大於25的數 console.log ob true經過測試,加不加return都能正常執行,使用箭頭函式時,這類迴圈函式的return可以省略 最...

建構函式可以為虛函式嗎?

答案當然是否定的,主要從一下兩個角度加以說明。從儲存空間角度 虛函式對應乙個vtable,可是這個vtable其實是儲存在物件的記憶體空間的。那麼問題來了,如果建構函式是虛函式,就要通過vtable來呼叫,可是物件空間還沒有例項化,也就是記憶體空間還沒有,無法找到vtable,所以建構函式不能是虛函...

2019 5 7 可以休息嗎? 函式內省

摘自 流暢的python 除了 doc 屬性外,函式物件還有很多屬性。使用dir函式可以探知之前的函式物件factorial具有如下屬性 dir factorial annotations call class closure code defaults delattr dict dir doc e...