使用 ktolin 上的递归进行阶乘的 Stackoverflow 错误

Rag*_*hav -3 recursion factorial kotlin

这是我的代码 这在输出控制台上给出了 30 次堆栈溢出错误

fun main(args:Array<String>){
     var no:Int=Integer.parseInt(readLine())//read input from user and convert to Integer
      var ans:Int=calculateFact(no) //call function and store to ans variable
      println("Factorial of "+no+" is "+ans) //print result
}
fun calculateFact(no:Int):Int //function for recursion
{
if(no==0) {
    return 1 }
return (no*calculateFact(no))   
}
Run Code Online (Sandbox Code Playgroud)

我不知道什么是错误解决plz

Era*_*ran 5

你应该回来

no*calculateFact(no - 1)
Run Code Online (Sandbox Code Playgroud)

不是

no*calculateFact(no)
Run Code Online (Sandbox Code Playgroud)

否则递归永远不会结束。