第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

函數(shù) getWordNumber為什么在n-1=1是就不再運行了

#include <stdio.h>

/* 定義獲取單詞數(shù)量的函數(shù) */

int getWordNumber(int n)

{? ?

? ? if(n == 1)

? ? {

? ? ? ? return 1;? ? //第一天只會1個單詞

? ? }

? ? else{

? ? ? ? return getWordNumber(n-1)+n;? ? ? ?//到第天會的單詞數(shù)量

? ? }

}

int main()

{

? ? int num = getWordNumber(10);? ? ?//獲取會了的單詞數(shù)量

? ? printf("小明第10天記了:%d個單詞。\n", num);

? ? return 0;

}


正在回答

1 回答

首先,return是結(jié)束這個循環(huán),將值輸入到主函數(shù) ? ? ? ?? (下文中g(shù)etWordNumber用GWN代表)

這個GWN函數(shù)有兩種結(jié)束循壞的方式,一種是n等于1時,符合If語句的條件,輸出return 1,說明停止循壞并且將1這個值輸入到主函數(shù),然后這里主函數(shù)就會輸出該值(num=1),一種是n不等于1時,不符合If語句的條件,就會輸出else語句的return,而這個return語句后面還有一個GWN(n-1)的函數(shù),這個跟著一起被輸入主函數(shù),但此時這個循環(huán)并沒結(jié)束,會繼續(xù)被自身調(diào)用,這就是遞歸函數(shù),比如,下一個GWN(9),那么這個GWN(9)代表在getWordNumber這個函數(shù)中在n=9的情況下繼續(xù)做循環(huán),最后輸出的是GWN(8)+9+10(備注:這里的10是上一次循環(huán)中GWN(10-1)+10的10),同理,接下來的GWN(8)也會繼續(xù)按照這樣循環(huán),最后到GWN(n-1)中的n-1=1時,這時就符合if語句的條件,就會輸出return 1,這時才代表在else return后的這個GWN(n-1)函數(shù)才完全停止循環(huán),而這時在主函數(shù)輸出的是num=[GWN(1)=1]+2+3+4+5+6+7+8+9=55

本人也是菜鳥一枚,初次作答,以上是我的個人的理解,如有不對,還望大神指正。

3 回復 有任何疑惑可以回復我~
#1

是7661170

num=[GWN(1)=1]+2+3+4+5+6+7+8+9=45 不是55
2020-02-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

函數(shù) getWordNumber為什么在n-1=1是就不再運行了

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號