Funzione somma in C
Salve a tutti, avrei bisogno del vostro aiuto
ho provato a fare un esercizio in cui mi chiede di scrivere la somma degli elementi di un vettore, il programma deve essere strutturato in modo tale da avere una funzione che acquisisce il vettore ed una che effettua la somma degli elementi. Ho realizzato il programma, non mi da errori di compilazione ma il risultato non è la somma ma una serie di numeri del tipo 1968021754, qualcuno mi darebbe una mano a trovare l'errore?grazie

#include<stdio.h> #include<stdlib.h> void input_vettore(int v[],int n){ int i; // variabile locale for(i=0;i<n;i++){ printf("inserisci l'elemento di posizione %d\n",i); scanf("%d",&v[i]);} } int somma_elementi(int v[],int n){ int i; int somma; somma=0; //inizializzazione della somma for(i=0;i<n;i++){ somma+=v[i]; } return somma; } int main(){ int n; int v[5]; int somma; int i; input_vettore(v,5); somma_elementi(v,5); printf("la somma e' %d\n",somma); system("pause"); }
Risposte
Sono confuso, se ti dà errore di compilazione come fai a sapere che la somma è sbagliata? A occhio mi sembra che la funzione sia corretta. Però dovevi scrivere somma = somma_elementi(v,5) ma il compilatore ti darebbe al limite un warning.
no non mi dava errore di compilazione, però non mi restituiva la somma esatta, però con la correzione che mi hai consigliato ho risolto!! grazie mille
avevo dimenticato di porre somma=somma_elementi(v,5)
