首页 > swift中,for和while语句互换问题

swift中,for和while语句互换问题

在练习swift写最大公约数的函数时,以下代码可以达成功能:

func GYS(number1 num1: Int,number2 num2: Int) -> Int{

var i = 1
var k = 1
    
    for ;i <= min(num1,num2);i+=1{
      if (num1%i == 0) && (num2%i == 0) {
        k = i
    }
}
    return k
}

但是尝试使用while语句时,以下代码就不可以,也没有返回错误信息:

    func GYS(number1 num1: Int,number2 num2: Int) -> Int{
        
        var i = 1
        var k = 1
        
        while i <= min(num1,num2){
            if (num1%i == 0) && (num2%i == 0) {
                k = i
                i+=1
            }
        }
    return k
}

是否while语句出现问题?谢谢


        while i <= min(num1,num2){
            if (num1%i == 0) && (num2%i == 0) {
                k = i
            }
            i+=1
        }
【热门文章】
【热门文章】