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

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

i++

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

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

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

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

++i

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

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

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

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

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

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

И

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

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

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

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

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

c

for-loop

post-increment

pre-increment

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