Grazie mille ! Quindi con solo il punto il due sarà double ?Originariamente inviato da MItaly
L'errore sta nella riga:
Indipendentemente dal fatto che tu stia inizializzando un float, l'espressione sulla destra è comunque tutta un'espressione di interi: a e b sono interi (e quindi pure la loro somma), 2 è un intero, per cui viene eseguita una divisione intera (che tronca i decimali). Per ottenere il risultato voluto, devi fare in modo che almeno uno dei due operandi della divisione sia un float; nel tuo caso il modo più semplice e sensato è rendere il 2 un float, quindi scriverai:codice:float c=(a+b)/2;
Nota comunque che in genere, salvo necessità di spazio particolari, si usano i double; in tal caso sarebbe:codice:float c=(a+b)/2.f;
codice:double c=(a+b)/2.;

Rispondi quotando