亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如果n=10的話return后面的計算式算出的值不應該是19嗎 為什么是55呢


#include?<stdio.h>
/*?定義獲取單詞數量的函數?*/
int?getWordNumber(int?n)
{???
????if(n?==?1)
????{
????????return?1;????//第一天只會1個單詞
????}
????else{
????????
????????return?getWordNumber(n-1)+n;???????//到第天會的單詞數量
????}
}
int?main()
{
????int?num?=?getWordNumber(10);?????//獲取會了的單詞數量
????printf("小明第10天記了:%d個單詞。\n",?num);
????return?0;
}


正在回答

3 回答

因為當n=1時,n-1=0而不等于1,是假命題,不執行了

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

李梓煊12138

你好 n=1的時候為什么沒去執行if(n==1)
2020-02-05 回復 有任何疑惑可以回復我~

相當于這樣((((((((1 + 2)+ 3)+ 4)+ 5)+ 6)+ 7)+ 8)+ 9)+ 10

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

weixin_慕先生019299 提問者

那為什么這個函數在n-1等于1是就不再繼續了呢
2019-11-17 回復 有任何疑惑可以回復我~
#2

慕雪9555539 回復 weixin_慕先生019299 提問者

同問111
2019-12-10 回復 有任何疑惑可以回復我~

你的思想是一個誤區,getWordNumber(n-1)是一個函數。是一個整體再加n,我也在這個誤區里面繞了很久。

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

如果n=10的話return后面的計算式算出的值不應該是19嗎 為什么是55呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號