遞歸算桃返回值的問題
#include?<stdio.h>
int?getPeachNumber(int?n)
{
????int?num;????//定義所剩桃子數
????if(n==10)
????{
????????return?1;???????//遞歸結束條件
????}
????else?
????{
????????num?=?(getPeachNumber(n+1)+1)*2;???//這里是不應該用遞歸呢?
????????printf("第%d天所剩桃子%d個\n",?n,?num);?//天數,所剩桃子個數
????}
????return?num;
}
.........................................在遞歸算桃這個例子里,遞歸結束條件?return 1為什么不能用num=1?這兩個都能編譯運行。請問有區別嗎?
2016-01-24
return 1是返回函數值給該函數,然后結束運算;num = 1只是簡單的賦值,繼續向下運行。