Maverick82^
16-02-2002, 10:27
Salve sto iniziando il corso di Linguaggi di Programmazione e ho iniziato a fare i primi esercizi. Ho una domanda sul seguente codice:
/* Esercizio pag 120 n. 4.11*/
#include <stdio.h>
main ()
{
int n, n2, x=0, min;
printf("\nQuanti interi vuoi inserire?? ");
scanf("%d", &n);
for (x=1; x<=n; x++) {
scanf("%d", &n2);
if (n2 <= min)
min=n2;
}
printf("\nIl min è %d", min);
return 0;
}
il prog cerca il minimo tra n interi
Allora quando vado a compilare giustamente il compilatore mi da un warning dicendo : "POSSIBLE USE OF min BEFORE DEFINITION IN FUNCTION"
infatti quando vado a confrontare n2 con min min avrà un valore arbitrario, credo, in relazione alla cella di memoria. Ho provato a dare in output il valore di min prima dell'if e mi da 1780..!!! Ma allora ca@@o io confronto n2 con che cosa??(Naturalmente tutto ciò si rifersce solo alla prima iterazione, xkè dopo l'if assegno n2 a min)
/* Esercizio pag 120 n. 4.11*/
#include <stdio.h>
main ()
{
int n, n2, x=0, min;
printf("\nQuanti interi vuoi inserire?? ");
scanf("%d", &n);
for (x=1; x<=n; x++) {
scanf("%d", &n2);
if (n2 <= min)
min=n2;
}
printf("\nIl min è %d", min);
return 0;
}
il prog cerca il minimo tra n interi
Allora quando vado a compilare giustamente il compilatore mi da un warning dicendo : "POSSIBLE USE OF min BEFORE DEFINITION IN FUNCTION"
infatti quando vado a confrontare n2 con min min avrà un valore arbitrario, credo, in relazione alla cella di memoria. Ho provato a dare in output il valore di min prima dell'if e mi da 1780..!!! Ma allora ca@@o io confronto n2 con che cosa??(Naturalmente tutto ciò si rifersce solo alla prima iterazione, xkè dopo l'if assegno n2 a min)