В чем разница между ++i и i++?

i ++ известен как пост-инкремент, тогда как for ++ i называется пред-инкрементом

i++

i++ - это пост-инкремент, потому c что он увеличивает значение c i на 1 после завершения операции.

Давайте post-increment посмотрим на следующий пример:

int i = 1, j;
j = i++;

Здесь for значение j = 1, но i = 2. Здесь значение for-loop i будет сначала присвоено for-loop j, затем будет увеличиваться post-increment i.

++i

++i является предварительно c инкрементным, потому что c он увеличивает значение i на pre-increment 1 перед операцией. Это означает, что c j = i; будет выполняться после for-loop i++.

Давайте посмотрим на следующий post-increment пример:

int i = 1, j;
j = ++i;

Здесь значение j = 2, но pre-increment i = 2. Здесь значение i будет присвоено for-loop j после увеличения i для i. Аналогичным for-loop образом ++i будет выполнен перед for j=i;.

На ваш вопрос что следует использовать в блоке приращения цикла for? ответ: вы c можете использовать любой c ... не имеет значения. Он c выполнит ваш цикл for с таким pre-increment же номером. раз.

for(i=0; i<5; i++)
   printf("%d ",i);

И

for(i=0; i<5; ++i)
   printf("%d ",i);

Оба цикла c производят одинаковый результат. т.е. 0 1 2 3 4.

Имеет for значение только то, где вы for его используете.

for(i = 0; i<5;)
    printf("%d ",++i);

В этом случае for вывод будет 1 2 3 4 5.

c

for-loop

post-increment

pre-increment

2022-11-08T22:37:00+00:00