Buonasera a tutti,
sto concludendo il capitolo sulle funzioni e sui passaggi di dati e ho stilato un codice di esempio, ma in fase di restituzione del valore (che poi stampo in output) il valore non è quello che io mi aspetto.
Codice:
#include <stdio.h>
#define MAXNUM 5
void carica(int *tps);
int calcola(int *tps, int *sommatemp);
main()
{
int temps[MAXNUM];
int sommatemp;
sommatemp ==0;
carica(temps);
calcola(temps, &sommatemp);
printf("La somma delle temperature rilevate e\' : %d",sommatemp);
while(!getchar());
}
void carica(int *tps)
{
int i;
for (i=0;i<MAXNUM;i++)
{
printf("Inserire la temperatura %d :",i+1);
scanf("%d",&tps[i]);
}
}
int calcola(int *tps, int *sommatemp)
{
int i;
for (i=0;i<MAXNUM;i++)
{
*sommatemp += tps[i];
}
return *sommatemp;
}
Quando mi stampa in output sommatemp, il suo valore è totalmente sballato. Dove sta(nno) l'(gli) errore(i) ?
Grazie infinitamente della pazienza, ancora pochi giorni di studio e poi non porrò più questi barbari quesiti sul C...