Esatto, p + dim - 1dovrei passare la dimensione decrementata giusto?
Se vuoi esplicitare il caso base dovresti scrivere qualcosa del genere:La condizione if(dim == 1) pensavo di utilizzarlo come caso base
ma dato che è una funzione void puoi riscriverla così:codice:void inverti(int *p, int dim){ if(dim == 1){ return; } scambia(p, p + dim - 1); inverti(p + 1, dim - 2); }
codice:void inverti(int *p, int dim){ if (dim > 1){ scambia(p, p + dim - 1); inverti(p + 1, dim - 2); } }