Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Post-Incrementing/decrementing in recursive method calls (Java)

Say you have a recursive method, and you post-increment/decrement a value in the recursive call. Why will this result in a stack overflow exception when a pre-increment/decrement will not?

Ex.

numberCount(currentNumber++); //Stack overflow exception

numberCount(++currentNumber); //No stack overflow exception

Thanks in advance for any clarification.

like image 419
Derrek Whistle Avatar asked Feb 06 '26 20:02

Derrek Whistle


1 Answers

The first

numberCount(currentNumber++); //Stack overflow exception

is equivalent to:

numberCount(currentNumber);
currentNumber += 1;

while the the second

numberCount(++currentNumber); //No stack overflow exception

is equivalent to

currentNumber += 1;
numberCount(currentNumber);

Need I explain more?

like image 70
jlordo Avatar answered Feb 09 '26 10:02

jlordo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!