假设您有一个递归方法,并在递归调用中后递增/递减值。当预增量/减量不是?
时,为什么会导致堆栈溢出异常?实施例
numberCount(currentNumber++); //Stack overflow exception
numberCount(++currentNumber); //No stack overflow exception
提前感谢您的任何澄清。
答案 0 :(得分:11)
第一个
numberCount(currentNumber++); //Stack overflow exception
相当于:
numberCount(currentNumber);
currentNumber += 1;
而第二个
numberCount(++currentNumber); //No stack overflow exception
相当于
currentNumber += 1;
numberCount(currentNumber);
我需要解释一下吗?
答案 1 :(得分:0)
如果是numberCount(currentNumber++);
,如果numberCount
函数抛出异常,变量currentNumber
会增加吗?