Re: [問題] 請問關於累加的這種語法表示法

作者: TameFoxx (foxx)   2016-04-11 10:56:18
: 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
...
...
...
大概這樣
有懂?
作者: neo5277 (I am an agent of chaos)   2016-04-11 16:47:00
用到一百也太多了 到六就好了 設中斷點跟加入監看式就會滿清楚了 一個是運作條件一個是停止條件

Links booklink

Contact Us: admin [ a t ] ucptt.com