1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>

void _print_reverse(int* list, int index, int size) {
    int friendly_index = index + 1;
    if (index < size) {
        index = index + 1;
        _print_reverse(list, index, size);
        printf("friendly_index = %d\n", friendly_index);
        printf("value = %d\n", list[index - 1]);
    }
}

int main(int argc, char* argv[]) {
    int list[] = {1, 1, 2, 3, 5, 8, 13};
    // string for callstack example
    // char* str = "Hello World";
    int size = sizeof(list) / sizeof(*list);
    _print_reverse(list, 0, size);
    return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */

© Copyright 2024 Alexander J. Quinn & David Burnett         This content is protected and may not be shared, uploaded, or distributed.