Синтаксис цикла for
:
for (
предложение-1 ;
выражение-2 ;
выражение-3 )
оператор
Выполнение такое, как указано ниже, цитата из C11
, глава §6.8.5.3, ( выделение мое)
Выражение expression-2
является управляющим выражением, которое оценивается перед каждым выполнением тела цикла .Выражение expression-3
оценивается как пустое выражение после каждого выполнения тела цикла. [....]
Здесь i++
- это тело, а printf("\n%d\n",i)
- это выражение-3 .
Итак, порядок выполнения будет примерно таким:
i = 1;
start loop
i < = 6 //==> TRUE
i++; //i == 2
printf // Will print 2 ///iteration 1 done
i < = 6 //==> TRUE
i++; //i == 3
printf // Will print 3 ///iteration 2 done
.
.
.
i < = 6 //==> TRUE
i++; //i == 6
printf // Will print 6 ///iteration 5 done
i < = 6 //==> TRUE
i++; //i == 7
printf // Will print 7 ///iteration 6 done
i < = 6 ==> FALSE
end loop.