wingman87
29-07-2007, 00:03
Ho un dubbio, ho scritto un programmino e in un punto di esso ho scritto questo:
while(!fin->eof()){
int i;
if(nf==-1){
while(CONDIZIONE){
FAI QUALCOSA (cambia il valore di nf)
}
i=1;
}else{
cout<<i<<"\n";
for(;i<nf+1;i++)
FAI QUALCOS'ALTRO
i=0;
}
}
Ora, tralasciando a cosa serve, quello che mi interesserebbe sapere è se è normale che funzioni bene, cioè, mi crea un po' di confusione quella dichiarazione "int i;", praticamente questa variabile viene dichiarata una sola volta al primo ciclo o ogni volta viene ridichiarata? Nel secondo caso si vede che occupa sempre la stessa area di memoria perchè il cout mi da una cosa tipo 1000000000 e quindi è corretto, nel primo caso invece allora perchè se invece dichiaro i in questo modo: "int i=1" l'output è 1111111111?
Grazie mille, spero non sia una domanda troppo stupida...
while(!fin->eof()){
int i;
if(nf==-1){
while(CONDIZIONE){
FAI QUALCOSA (cambia il valore di nf)
}
i=1;
}else{
cout<<i<<"\n";
for(;i<nf+1;i++)
FAI QUALCOS'ALTRO
i=0;
}
}
Ora, tralasciando a cosa serve, quello che mi interesserebbe sapere è se è normale che funzioni bene, cioè, mi crea un po' di confusione quella dichiarazione "int i;", praticamente questa variabile viene dichiarata una sola volta al primo ciclo o ogni volta viene ridichiarata? Nel secondo caso si vede che occupa sempre la stessa area di memoria perchè il cout mi da una cosa tipo 1000000000 e quindi è corretto, nel primo caso invece allora perchè se invece dichiaro i in questo modo: "int i=1" l'output è 1111111111?
Grazie mille, spero non sia una domanda troppo stupida...