|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2006
Città: Milano
Messaggi: 36
|
[C] semplice ciclo do-while che non gira
Ciao a tutti...
ecco lo stampato #include<stdio.h> main() { int a[50],i; i=0; do{ printf("Inserisci numero (0 per terminare): "); scanf("%d",&a[i]); fflush(stdin); i++; }while(a[i] != 999); i++; printf("\n\n"); for(i=0; a[i] != 0; i++) printf("%d ",a[i]); getchar(); } il giro mi cicla fino ad inserire 4 numeri poi si interrompe.. dove sbaglio? utilizzo dev-C in attesa di risposta ringrazio vivamente in anticipo e poi una piccola curiosità.. utilizzando il classico compilatore della borland non c'è bisogno di inserire ne "fflush(stdin)" e neanche "getchar()". Domanda: il linguaggio C richiede queste istruzioni oppure è il compilatore dev-c che necessità di istruzzioni aggiuntive? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
perchè non stai controllando il valore dell'array che hai appena inserito, ma quello dopo, che visto che non è stato inserito, è "casuale".
In poche parole controlli uno spazio di memoria che contiene un valore non definito, quel che c'è c'è, e forse c'è 999 |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2006
Città: Milano
Messaggi: 36
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:47.



















