• 0 Posts
  • 24 Comments
Joined 1 year ago
cake
Cake day: July 24th, 2023

help-circle



















  • Recursion is often unintuitive for beginners, to understand this code we should simply it a bit

    
    int main(void)
    {
        int height = get_int("Height: ");
    
        draw(height);
    }
    
    void draw(int n)
    {
        if (n <= 0)
        {
            return;
        }
    
        draw(n - 1);
        printf("%d",  n);
        
        printf("\n");
    }
    

    Inputting 3 should now give us a output like

    1
    2
    3 
    

    Try to understand that case first and than muddle it up with the loop.

    If you examine it in a debugger look at the Stack trace. If you use gdb its bt in a visual debugger it’s probably the list of function names next to the variables