无法执行命令:已杀



我正在使用IBM的在线Swift沙箱,我正在尝试运行此代码,但它给了我一个错误:

代码:

var a: Double = 1.0
var b: Double = 2.0
var c: Double = 3.0
var x: Double = 0.0
func x_func(a_var: Double, b_var: Double, c_var: Double) -> Double {
  x = (-b + (b^2 - 4*a*c)^(1/2))/(2*a)
  return x
}
print(x_func(a_var: a, b_var: b, c_var: c))
print(a)
print(b)
print(c)

错误:

<unknown>:0: error: unable to execute command: Killed
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)

有人可以帮我找出问题所在吗?我是 Swift 的新手,所以我在这里看不到错误。

当你想使用指数时,尝试使用 pow^不适用于 Swift。使用 Swift ^ 生成按位 XOR - 不是指数。

import Foundation
var a: Double = 1.0
var b: Double = 2.0
var c: Double = 3.0
var x: Double = 0.0
func x_func(a_var: Double, b_var: Double, c_var: Double) -> Double {
    x = (-b + pow((pow(b, 2) - 4*a*c), 1/2))/2*a
    return x
}

确保在使用 IBM Sandbox、HackerRank 或任何导入 Foundation 框架的东西时!我知道这很容易忘记,如果你这样做会引起很多头痛。

此外,除非您在未显示的x_func方法中进行额外的计算,否则您要求传递甚至不使用的参数。您可以摆脱属性,也可以将函数更改为不接受任何变量 - 摆脱属性并将其更改为如下所示的内容可能会更有效:

import Foundation
func x_func(a: Double, b: Double, c: Double) -> Double {
    x = (-b + pow((pow(b, 2) - 4*a*c), 1/2))/2*a
    return x
}

最新更新