我自己寫的這個為什么輸出結果不對
#include <stdio.h>?
/*?
?* 請使用遞歸函數完成本題
?* 小編已將正確代碼放在左側任務的“不知道怎么辦”里
?* 小編希望各位童鞋獨立完成哦~
?*/
int fun(int n)
{?
? ? int sum;
? ? if(n=1)
? ? {
? ? ? ? sum= 10;
? ? }
? ? else
? ? {
? ? ? ? return sum=fun(n-1)+2;
? ? }
}
int main()?
{
? ? int sum=fun(5);
printf("第5個人的年齡是%d歲", sum);?
return 0;
}
2018-12-26
慕課網這邊的答案在if那個循環里面少了個返回值,加個return 10;或者return sum;就行
2018-11-02
#include <stdio.h>?
/*?
?* 請使用遞歸函數完成本題
?* 小編已將正確代碼放在左側任務的“不知道怎么辦”里
?* 小編希望各位童鞋獨立完成哦~
?*/
int fun(int n)
{?
? ? int sum;
? ? // if(n=1)? ? ? ? ? ? //這里不是賦值,是判斷, 要改成if(n == 1)?
if (n == 1)
? ? {
? ? ? // sum = 10;? ? ? ?// 這里沒有結束語句??
? ? ? ?//加一行 return sum; 或者直接改成? ?return 10;?
return 10;?
? ? }
? ? else
? ? {
? ? ? ?// return sum=fun(n-1)+2;? //這里不能賦值? 改成return fun(n-1)+2?
return fun(n-1)+2 ;
? ? }
}
int main()?
{
? ? int sum=fun(5);
printf("第5個人的年齡是%d歲", sum);?
return 0;
}
2018-11-01
if(n==1)