Risolto
#include <stdio.h>
#include <stdbool.h>
bool isDispari(int *a, int i){
return (a[i]%2)==1;
}
int sommaDisp(int *a, int n){
int i,sD=0;
for(i=0;i<n;i++)
if(isDispari(a,i))
sD+=a[i];
return sD;
}
int main(){
int n,i;
printf("Inserisci lunghezza array");
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
printf("Inserisci elemento %d dell'array\n",i);
scanf("%d",&a[i]);
}
printf("La somma degli elementi dispari e' %d",sommaDisp(a,n));
return 0;
}
Potevi dirlo fin dall'inizio che le funzioni non andavano bene, ho messo tutto il codice nel testo della domanda per un motivo... comunque adesso funziona, grazie