【发布时间】:2023-03-22 19:39:01
【问题描述】:
我正在尝试在 Swift 中使用 while 循环构建一个基本的斐波那契数列。
我在while循环中使用的条件是while var next
在 Playground 中运行以下代码时出现以下错误: "执行被中断,原因:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)"
while 循环在此发生之前运行了 90 次,让我知道我的情况正在崩溃……经过几次循环后,var next 应该大于 10……不知道发生了什么。
import UIKit
var myArray = [0,1]
var maxNum = 10
var next = 0
while next <= maxNum{
var last = myArray.last!
var lastLast = myArray[myArray.count-2]
var next = last + lastLast
myArray.append(next)
}
println(myArray)
println(myArray.last!)
【问题讨论】:
-
你有没有单步调试过你的代码?或者你有没有从你的 while 循环中输出值?你做了什么来尝试调试这个?
-
不太了解 swift,但你不是在循环内声明了一个 new
next变量吗?这将导致外部next保持为 0。 -
谢谢,你是对的。
标签: arrays swift while-loop