Funzione somma in C

bio90
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
vict85
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.

bio90
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 :D avevo dimenticato di porre somma=somma_elementi(v,5)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.