作者TameFoxx (foxx)
看板C_Sharp
标题Re: [问题] 请问关於累加的这种语法表示法
时间Mon Apr 11 10:56:18 2016
: public int SumFrom1ToX(int x)
: {
: if(x==1)
: {
: return 1;
: }
: else
: {
: int result = x + SumFrom1ToX(x - 1);
: return result;
: }
: }
关於这种例子看不懂的新手
就一行一行想就好
假设在外面呼叫这个function
int Sum = SumFrom1ToX(100);
接下来就是
x不等於1
回传的变数要等於 100 + SumFrom1ToX(99)
进入到另一个SumFrom1ToX
x不等於1
回传的变数要等於 99 + SumFrom1ToX(98)
...
...
...
进入到另一个SumFrom1ToX
x等於1
回传1
回到上一层SumFrom1ToX
2+1=3
回传3
回到上一层SumFrom1ToX
3+3=6
回传6
...
...
...
大概这样
有懂?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.239.229
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1460343380.A.B94.html
1F:→ neo5277: 用到一百也太多了 到六就好了 设中断点跟加入监看式 04/11 16:47
2F:→ neo5277: 就会满清楚了 一个是运作条件一个是停止条件 04/11 16:48