i ++ известен как Постинкремент , тогда как ++ i называется Предварительный инкремент.
i++
i++
является постинкрементом, потому что он увеличивает значение i
на 1 после завершения операции.
Посмотрим на следующий пример:
int i = 1, j;
j = i++;
Здесь значение j = 1
, но i = 2
. Здесь значение i
будет сначала присвоено j
, затем i
будет увеличено.
++i
++i
является предварительным приращением, поскольку оно увеличивает значение i
на 1 перед операцией.
Это означает, что j = i;
будет выполнено после i++
.
Давайте посмотрим на следующий пример:
int i = 1, j;
j = ++i;
Здесь значение j = 2
, но i = 2
. Здесь значение i
будет присвоено j
после увеличения i
на i
.
Аналогично ++i
будет выполнено до j=i;
.
Для вашего вопроса , который следует использовать в блоке приращения цикла for? ответ таков: вы можете использовать любой из них ... не имеет значения. Он выполнит ваш цикл for же нет. раз.
for(i=0; i<5; i++)
printf("%d ",i);
И
for(i=0; i<5; ++i)
printf("%d ",i);
Оба цикла будут давать одинаковый результат. то есть 0 1 2 3 4
.
Имеет значение только то, где вы его используете.
for(i = 0; i<5;)
printf("%d ",++i);
В этом случае вывод будет 1 2 3 4 5
.