if (c > 0)
это проблема. Вам нужно сделать так, чтобы if (c >= 0)
печатало значение 1
внутри a[0]
.
. Также первый аргумент при рекурсивном вызове somefunction
внутри somefunction
должен пропускать []
.
В качестве дополнительной подсказки, чтобы вывести значение 11
в a[6]
, необходимо изменить
somefunction(a,5);
в main()
на
somefunction(a,6);
Код возобновления:
#include <stdio.h>
void somefunction(const int[], int);
int main() {
int a[] = { 1, 3, 4, 5, 7, 9, 11 };
somefunction(a,6);
return 0;
}
void somefunction(const int b[], int c) {
if (c >= 0) {
somefunction(b, c - 1);
printf("%d ", b[c]);
}
}
Вывод:
1 3 4 5 7 9 11