|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Piccolo aiutino.....
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)
__________________
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2000
Città: Milano
Messaggi: 1034
|
Devi assegnare a min un valore... in questo caso o gli assegni il massimo intero possibile (INT_MAX in limits.h) oppure fai una prima scanf di n2 fuori dal ciclo e assegni a min questo valore.
Ciao |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che ti serve inizializzare x a 0 quando invece cominci il ciclo da 1 ?
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Quote:
__________________
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:32.