// Error a propósito: compila, no se cae y da una respuesta equivocada.
#include <stdio.h>

static int array_min(const int *a, size_t n) {
    if (n == 0) {
        return 0;
    }
    int rest = array_min(a + 1, n - 1);
    if (a[0] < rest) {
        return a[0];
    }
    return rest;
}

int main(void) {
    int one[] = {5};
    int many[] = {4, 2, 7};
    int negative[] = {4, -2, 7};

    printf("{5}: %d\n", array_min(one, 1));
    printf("{4, 2, 7}: %d\n", array_min(many, 3));
    printf("{4, -2, 7}: %d\n", array_min(negative, 3));
    return 0;
}
