Ciao a tutti, ho un problema con una funzione ricorsiva, non capisco dove sbaglio e perchè quando faccio partire il programmino mi si blocca.. se qualcuno può aiutarmi gli sarei molto grato.. grazie a tutti in anticipo..
codice:/*Esercizio N.2 : Scrivere una funzione ricorsiva che accetti in ingresso un vettore v di dimensione n e calcoli ricorsivamente la somma dei suoi elementi, Verificare dal main il funzionamento*/ #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 int somma (int *); main() { int v[N],i; srand(time(NULL)); for (i=0; i<N ;i++) { v[i] = rand()%10; printf("\nV[%d] == %d",i,v[i]); } printf("\n\n"); printf("La somma degli elementi di V e' %d",somma(v)); fflush(stdin); getchar(); } int somma(int *v) { int i=0; int x=0; if (i==N-1) { x += v[i+1]; return (x); } else { return (x += somma(v++)); } }

Rispondi quotando