問一個vb6簡單的遞迴程式

1+2+3+...N
以下是程式
Sub Cd1ck()
Dim i As Integer
i = InputBox("請輸入所要計算的連加數值")
Debug.Print "1+2+....+"; i - 1; "+"; i; "="; sum(i)
End Sub

Function sum(ByRef N As Integer) As Integer
If N = 1 Then sum = 1 Else sum = N + sum(N - 1)
End Function

請問此句
If N = 1 Then sum = 1 Else sum = N + sum(N - 1)
sum=1為何不能改成sum(N)=1呢?
謝謝
2012-07-26 8:33 發佈
文章關鍵字 VB6 遞迴程式
IF N=1 THEN SUM(1)=1 ...

你認為會發生什麼? 沒完沒了!
Sum(n)是函數式,不能給定值,
例:x=sum(n)是可行的,
Sum(n)=x會出錯是,變數需在等號左邊。

不知道這樣解釋對不對...

凱薩爾 wrote:
IF N=1 THE...(恕刪)

還是不懂
sum(1)=1
這很合理呀!
不然sum(1)=?
謝謝

dannyjohnsen wrote:
Sum(n)是函數式,不能給定值,
例:x=sum(n)是可行的,
Sum(n)=x會出錯是,變數需在等號左邊。

不知道這樣解釋對不對......(恕刪)

嗯!
這樣就了解了
變數要在=號的左邊
謝謝
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?