Originariamente inviato da calldavid
io ho questo codice:


#include "stdafx.h"
#include <iostream>


int main(int argc, char* argv[])
{
int i[100];
for(int j=0; j<=99; j++){
int k;
i[j] = j;
}
printf("%d ", j);
for(;{
}
return 0;
}

qual'è il problema?..direte voi...Il problema è che FUNZIONA.
Come mai il comando "printf("%d ", j);" viene eseguito correttamente?
Come mai la variabile j continua ad esistere?
io sapevo che le variabili dichiarate come "contatori" nei cicli for dovevano terminare alla fine del ciclo for, ma in questo caso non succede e continua ad esistere!
Ho verificato che in un altro compilatore c++ la variabile sparisce (come è logico aspettarsi) alla fine del ciclo ma in visual c++ 6.0 no.

Qualcuno sa dirmi come mai succede questo e se sono l'unico al mondo ad avere questo problema?

Vi ringrazio in anticipo per l'aiuto.
tralasciando il fatto che stdafx non è una libreria standard (usa <stdlib.h>) e iostream è antiquata e inutile in questo caso, a me Dev-C++ non mi lascia definire una variabile all interno del ciclo for, di solito è buona cosa definire le variabile tutte all inizio del programma, evitando (come la k che peraltro non è utilizzata) di definirle in mezzo alle stringhe.

la cosa della variabile "contatore" che dovrebbe terminare non l ho mai sentita



SwisströM