簡體   English   中英

數組返回0的函數Visual Basic

[英]Function with array returning 0 Visual Basic

我在Visual Basic中使用數組和函數還很新,我似乎無法弄清楚。 我的問題是,每當我調用函數Fibo ,無論n的值是多少,它都會返回0。 我確定錯誤是很基本的。

任何指針將不勝感激!

Public Function fibo(n As Integer) As Integer

    Dim arrayFib(n + 1) As Integer 'declare array to hold fibonacci

    arrayFib(0) = 0 'idem
    arrayFib(1) = 1 'declare start value

    Dim i As Integer = 2 'start position

    While i <= n
        arrayFib(i) = arrayFib(i - 1) + arrayFib(i - 2)
        i = 1 + i

    Return arrayFib(i)
Dim arrayFib(n + 1) As Integer 'declare array to hold fibonacci

我們可以猜測+1的來源。 之所以添加它,是因為原始代碼因IndexOutOfRangeException而崩潰。 由您返回arrayFib(i)引起,i遞增到大於 n,循環后其值為n + 1。 從而返回從未分配的元素的值。 您沒有正確解決它:)

將數組聲明恢復為原來的樣子,然后返回arrayFib(n)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM