作者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://www.ptt.cc/bbs/C_Sharp/M.1460343380.A.B94.html
→ neo5277: 用到一百也太多了 到六就好了 設中斷點跟加入監看式 04/11 16:47
→ neo5277: 就會滿清楚了 一個是運作條件一個是停止條件 04/11 16:48