各位大哥,遞歸函數的變量在函數外部聲明為啥不行呢?
#include <stdio.h>
/* 定義獲取單詞數量的函數 */
int getWordNumber(int n)
int result:
{? ?
? ??
? ? if(n == 1)
? ? {
? ? ? ? return 1;? ? //第一天只會1個單詞
? ? }
? ? else{
? ? ? ??
? ? ? ?result=getWordNumber(n-1)+n;? ? ? ?//到第天會的單詞數量
? ? }
? return result;
}
int main()
{
? ? int num = getWordNumber(10);? ? ?//獲取會了的單詞數量
? ? printf("小明第10天記了:%d個單詞。\n", num);
? ? return 0;
}
2020-04-04
我試了下,在外部聲明好像不是不可以(?)
你這個主要問題不應該了是位置放反了嗎,把result的定義放在函數的定義上面才對吧,現在這個代碼差不多把函數的定義給拆掉了,會直接報錯,順便定義result之后你的標點應該是分號不是冒號吧
int result;
int getWordNumber(int n){}? ?//你把int result插入在這中間了