You're missing a return
in the if
-branch, causing undefined behaviour.
Add it:
return AreaCalc(r+1);
You should have got a compiler warning for that.
If you didn't, increase your warning level.
If you did, start paying attention to warnings. Your compiler's "Treat warnings as errors" option is a very healthy choice.
(But, like @Henrik suggests in the comments, maths is the best solution.)