Swift FIB:执行被中断,原因:EXC_BAD_指令(代码=EXC_1386_INVOP,子代码=0x0)
我正在努力学习Swift,并编写了一个简单的fib函数Swift FIB:执行被中断,原因:EXC_BAD_指令(代码=EXC_1386_INVOP,子代码=0x0),swift,Swift,我正在努力学习Swift,并编写了一个简单的fib函数 func fib(n: Int) -> Int { if n == 0 { return 0 } var nums = [0, 1] for i in 2...n { nums[i] = nums[i-1] + nums[i-2] } return nums[n] } fib(2) 它给了我以下错误: ERROR: Execution was inter
func fib(n: Int) -> Int {
if n == 0 {
return 0
}
var nums = [0, 1]
for i in 2...n {
nums[i] = nums[i-1] + nums[i-2]
}
return nums[n]
}
fib(2)
它给了我以下错误:
ERROR: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code-EXC_1386_INVOP, subode=0x0)
要将项添加到数组的末尾,必须调用
append()
方法。
不能通过将值指定给等于数组的索引来扩展数组
伯爵。所以你应该换一个
nums[i] = nums[i-1] + nums[i-2]
借
(但请注意,计算斐波那契数并不需要数组,
因为记住最后两个值就足够了。)
nums.append(nums[i-1] + nums[i-2])