Objective
Implement a function that recurses from n down to 1, reporting every level to on_enter on the way down and to on_leave on the way back up.
Steps
$ descend(3, on_enter, on_leave)
enter 3 enter 2 enter 1 leave 1 leave 2 leave 3
$ descend(1, on_enter, on_leave)
enter 1 leave 1
$ descend(4, on_enter, NULL)
enter 4 enter 3 enter 2 enter 1
$ descend(0, on_enter, on_leave)
(no output)
Expected files
Allowed functions
None. Write every helper yourself.
Allowed headers

Objective
Implement a function that recurses from n down to 1, reporting every level to on_enter on the way down and to on_leave on the way back up.
Steps
$ descend(3, on_enter, on_leave)
enter 3 enter 2 enter 1 leave 1 leave 2 leave 3
$ descend(1, on_enter, on_leave)
enter 1 leave 1
$ descend(4, on_enter, NULL)
enter 4 enter 3 enter 2 enter 1
$ descend(0, on_enter, on_leave)
(no output)
Expected files
Allowed functions
None. Write every helper yourself.
Allowed headers

Tests
Run the tests to grade your code