Ho un vettore di interi V di lunghezza 10 e deve stampare gli elementi di V dall'ultimo al primo. Il main del programma deve occuparsi dell'inizializzazione del vettore, mentre la stampa deve essere eseguita da una funzione ricorsiva che prenda in input il vettore V e la sua lunghezza.

Ho scritto questo programma ma non funziona, non mi stampa il vettore inverso.

codice:
#include <stdio.h> 
#include <stdlib.h> 
#define n 10 
int inverso (int [],int [], int ,int); 

main () {
 int j; int V[n]; int b[n]; 
scanf("%d %d %d %d %d %d %d %d %d %d",&(V[0]),&(V[1]),&(V[2]),&(V[3]),&(V[4]),&(V[5]),&(V[6]),&(V[7]),&(V[8]),&(V[9])); 
if (inverso (V,b,n-1,0)) 
for (j=0;j<n;j++) 
printf("b[%d]\n",j); 
system("PAUSE"); 
return 0; }

 int inverso (int V[],int b[], int i, int j) { 
if( i == 1 ) 
return b[i];
 b[j] = V[i];
 return inverso (V, b, i-1, j+1); 
}