Optimization 对“有限制吗;否则,如果”;声明?

Optimization 对“有限制吗;否则,如果”;声明?,optimization,coding-style,refactoring,Optimization,Coding Style,Refactoring,我想问一下,我们可以设置多少“如果”条款?有人告诉我,如果我们有太多的“else-if”,最终会导致堆栈溢出。例如: if (1 > 1){} else if (1 > 2){} else if (1 > 3 ){} //and so on else{} 然而,我在这个问题上找不到任何证据,谷歌也没有给我想要的答案。下面的问题与我的题目相同,但与我想问的主题无关。提前谢谢 在任何合理的语言中,限制都应该与一般代码大小的限制相同,换言

我想问一下,我们可以设置多少“如果”条款?有人告诉我,如果我们有太多的“else-if”,最终会导致堆栈溢出。例如:

    if (1 > 1){}
    else if (1 > 2){}
    else if (1 > 3 ){}
      //and so on
    else{}
然而,我在这个问题上找不到任何证据,谷歌也没有给我想要的答案。下面的问题与我的题目相同,但与我想问的主题无关。提前谢谢


在任何合理的语言中,限制都应该与一般代码大小的限制相同,换言之,如此之大,您几乎永远无法达到它


但是,它肯定不会导致堆栈溢出,因为
if
不会添加到堆栈中。函数调用会在堆栈中添加另一个框架,如果
是分支指令,则为

您要问的是什么语言?没有特定的语言,但让我们将其视为C。我的答案适用于C和您可能遇到的任何语言。实验上,当我尝试使用8941
elif
子句执行语句时,它是有效的,但如果再加一个,我会得到一个
递归错误
,因此如果我理解正确,真正的罪魁祸首是嵌套函数调用,而不是大量的“else-if”?堆栈溢出罪魁祸首?是的,它几乎总是无界递归。大量的
否则如果
不会溢出堆栈或导致崩溃,但是如果你有一页又一页的递归,那么这表明代码的结构应该更好。仅仅因为你能,并不意味着你应该。。