预期返回“Int”的函数中缺少返回值 - 最大公约数

时间:2021-02-21 13:10:24

标签: swift xcode return func

这是我的代码:

    import UIKit
    
    func gcd(_ a: Int, _ b: Int) -> (Int) {
        if a == b {
            return a
        } else if a > b {
            gcd(a - b, b)
        } else {
            gcd(a, b - a)
        }
    }
    gcd(9, 6)

算法是这样工作的:

<头>
9 6
3 6
3 3

当我做 print(a) 时它给了我一个正确的答案,但当我做 return 时它没有给我结果。

1 个答案:

答案 0 :(得分:0)

您错过了最后 2 个案例中的 return

func gcd(_ a: Int, _ b: Int) -> Int {
    if a == b {
       return a
    } else if a > b {
       return gcd(a - b, b)
    } else {
       return gcd(a, b - a)
    }
}

打电话

print(gcd(9, 6))