不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

Java 1.8

private static void recur(int i){
  System.out.println("Stack level: " + i);
  recur(++i);
}

测试结果:8644

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

Javascript in Chrome

Chrome版本:

Version 70.0.3538.102 (Official Build) (64-bit)

function a(i){   console.log("stack level: " + i)
   a(i+1);
}
a(0);

测试结果:11412

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

JavaScript in nodejs

nodejs version: v8.11.3

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

测试结果:11213

Golang

版本:

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

测试结果:3947556

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

ABAP

data: lv_temp type int4.
form recur using iv type int4.
  sy-index = iv.
  lv_temp = iv + 1.
  perform recur using lv_temp .
endform.
START-OF-SELECTION.
   perform recur using 0.

实际上是out-of-memory错误。

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

测试结果:12258206

不同编程语言在发生*之前支持的调用栈最大嵌套层数是多少

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。