Yes - I finally caught that part about n as it’s just moving in reverse so it gets decremented. Now I’m not sure about i. In the debugger when the program gets to the for loop both n and i are equal to 1. The n I understand but i?
Yes - I finally caught that part about n as it’s just moving in reverse so it gets decremented. Now I’m not sure about i. In the debugger when the program gets to the for loop both n and i are equal to 1. The n I understand but i?
Gotcha. Thanks for the explanation.
I see. I guess my understanding was that the recursion was over after the recursive call, but it’s actually for all the code in draw().
Thanks. I did see that. I have a general understanding of how recursion works I think where the function calls itself again and again but I don’t get why the code (for loop) below the draw(n - 1) is recursive.
Right. I was aware it was recursion as stated in the title of my post. I had two questions specific to where the for loop returns after printing #.
Why does the for loop return when it hits the end of the function? Isn’t the recursive portion already completed in draw(n - 1)? The rest of it is just normal non-recursive code if I understand it correctly.
Yep
It’s supposed to be a pyramid but not my code. It’s an example of a recursive function from a CS50 lecture and I’m just trying to understand how the code works line by line.
Ah I see. I had a bad habit of using else if statements instead of else statements because I thought else if could be better in seeing the condition it’s testing for so it was clearer. I get the logic is actually different now.
Yes, that helps. Thanks. I see now how n goes from 1 to 2 to 3…etc. Now not so sure how i = 1 when the for loop starts.