Salve a tutti ho un particolare errore(misà che non ho capito la ricorsione).
dato un array di interi creare un nuovo array di ordine inverso usando la ricorsione senza cicli.
posto il codice.Grazie in anticipo come sempre

FILE.C

codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include "ex7-es3.h"
 int* invertiArray(int* a, unsigned int size){
     int cont=0;
     int cont2=1;
     int* nuovoarray;
     nuovoarray=(int*)malloc((size)*sizeof(int));
     mia(nuovoarray,a,size,cont,cont2);
     return nuovoarray;    
}


void mia(int* c,int* a,unsigned int size,int cont,int cont2){
    int elem;
    elem=a[cont];
    if(elem == a[size-1]){
        c[0]=elem;
    }
    else{
        cont++;
        mia(c,a,size,cont,cont2);
        c[cont2]=elem;
        cont2++;
    }
}

FILE MAIN.C
codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include "ex7-es3.h"

#define N 4

int main(){
    int array[N];
    int* p;
    for(int i=0;i<N;i++){
        printf("inserisci l'elemento in pos[%d]: ",i);
        scanf("%d",&array[i]);
    }
    p=invertiArray(array,N);
    for(int q=0;q<N;q++){
        printf("%d ",p[q]);
    }
    return 0;
}
Nel caso servissero sono pronti a scrivere anche il makefile e il file.h

da input inserisco 1,2,3,4,mi restituisce 4,1,0,0