假设您有一个递归方法,并且您在递归调用中增加/减少一个值。为什么在预递增/递减不会导致堆栈溢出异常?
前任。
numberCount(currentNumber++); //Stack overflow exception
numberCount(++currentNumber); //No stack overflow exception
提前感谢您的任何澄清。
假设您有一个递归方法,并且您在递归调用中增加/减少一个值。为什么在预递增/递减不会导致堆栈溢出异常?
前任。
numberCount(currentNumber++); //Stack overflow exception
numberCount(++currentNumber); //No stack overflow exception
提前感谢您的任何澄清。
首先
numberCount(currentNumber++); //Stack overflow exception
相当于:
numberCount(currentNumber);
currentNumber += 1;
而第二个
numberCount(++currentNumber); //No stack overflow exception
相当于
currentNumber += 1;
numberCount(currentNumber);
需要我解释更多吗?
在这种情况下numberCount(currentNumber++);
,如果函数抛出异常numberCount
,变量会currentNumber
增加吗?