
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.
descend(3, on_enter, on_leave)Expected result
enter 3
enter 2
enter 1
leave 1
leave 2
leave 3For your own tracking. Tests grade your code.
descend(1, on_enter, on_leave)Expected result
enter 1
leave 1descend(4, on_enter, NULL)Expected result
enter 4
enter 3
enter 2
enter 1descend(0, on_enter, on_leave)Expected result
(empty result)
Expected files
descend.cAllowed functions
None. Write every helper yourself.
Allowed headers

v0.40: Create exercises. Challenge the community.
Meet Studio →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.
descend(3, on_enter, on_leave)Expected result
enter 3
enter 2
enter 1
leave 1
leave 2
leave 3For your own tracking. Tests grade your code.
descend(1, on_enter, on_leave)Expected result
enter 1
leave 1descend(4, on_enter, NULL)Expected result
enter 4
enter 3
enter 2
enter 1descend(0, on_enter, on_leave)Expected result
(empty result)
Expected files
descend.cAllowed functions
None. Write every helper yourself.
Allowed headers

Run the tests to grade your code
Build your code, then check each test here. Open a result to inspect its output.