#include <stdio.h>
int printArray(a[], unsigned int n){
if (n == 4){
printf("%d", a[4]);
}
else {
printf("%d", printArray(a,n+1)); // here is the error, I know. But why?
}
}
int main(){
int a[5] = {1,2,3,4,5};
printArray(a,0);
}
Я начинающий с C. Я пытаюсь распечатать каждый из элементов массива, но он правильно печатает только последний, а не первый. Я знаю, что что-то не так с рекурсивным способом. Я впервые использую рекурсивный способ без возврата и с использованием printf. Может быть, это ввело меня в заблуждение?
Вывод:
$ ./a.out
5
0
1
1
0