Originariamente inviato da MacApp
- main deve restituire un intero.
Ok ho aggiunto un return 0;
Originariamente inviato da MacApp
- utilizzi il contenuto di "n" senza che tu gli abbia prima dato un valore: comportamento indefinito;
- Ma il valore di n non è senza valore, lo prende dalla scanf no? O mi sbaglio?
Originariamente inviato da MacApp - il ";" dopo la graffa chiusa del while, potrà crearti solo problemi;
La graffa l'ho tolta.
Originariamente inviato da MacApp
- utilizzi il contenuto di "n" senza che tu gli abbia prima dato un valore: comportamento indefinito;
- il warning che ti da il compilatore, non è trascurabile: te lo dice chiaramente cosa non va;
Guarda cosa succede se cambio la dichiarazione delle variabili che è in float in double:
codice:
zorgatone@zorgatone-laptop:~/Programmazione In C/Esercizi$ gcc -o sez6prog1_comp.out sez6prog1.c
sez6prog1.c: In function ‘main’:
sez6prog1.c:15: warning: format ‘%f’ expects type ‘float *’, but argument 2 has type ‘double *’
sez6prog1.c:17: warning: format ‘%.2f’ expects type ‘double’, but argument 2 has type ‘double *’
zorgatone@zorgatone-laptop:~/Programmazione In C/Esercizi$
EDIT: Per il formato double cosa uso al posto di %f che mi da errore???
Qui sotto posto il codice aggiornato
codice:
#include <stdio.h>
int main(void)
{
double n, maggiore;
printf("************************************************\n");
printf("* Programma per il calcolo del numero maggiore *\n");
printf("* BY ZORGATONE *\n");
printf("************************************************\n\n");
maggiore = 0.00f;
printf("Immettere i numeri da confrontare (0 per smettere): ");
while (n != 0)
{
scanf("%f", &n);
if (maggiore < n)
{
maggiore = n;
}
}
printf("Il numero maggiore è %.2f.\n", &maggiore);
return 0;
}