Когда i
равно 1
, его значение не изменяется, поэтому оно остается равным 1
на следующей итерации и на следующей, и ... для перехода от 1
требуется много времени .
Одним из преимуществ цикла for
является то, что он объединяет элементы управления цикла в одну строку. Вы бы не увидели проблему с for (i = 0; i < 3; i++)
в качестве цикла; continue
будет переходить к i++
в элементе управления циклом.
Вы говорите, что используете Eclipse в качестве IDE. Наверное, поэтому вообще ничего не появляется. Его «терминалы» представляются программам как нетерминальные, поэтому ввод / вывод полностью буферизуется (вместо линейной буферизации, как это обычно происходит с выходом терминала). Это, в свою очередь, означает, что ничего не выводится до тех пор, пока буфер не заполнится, вы вызываете fflush(stdout)
или программа не останавливается. Это известная проблема с Eclipse. Вы можете вызвать setvbuf()
: добавить строку setvbuf(stdout, NULL, _IOLBUF, BUFSIZ);
в начале, чтобы убедиться, что буферизация строки действует.