а = я ++; `` `равно` я`? - PullRequest
       3

а = я ++; `` `равно` я`?

0 голосов
/ 24 мая 2011

В этом фрагменте кода, какие значения имеют a и i соответственно и почему?

int i = 1;
int a = i++;

Имеет ли a == 1 или a == 2?

Ответы [ 4 ]

6 голосов
/ 24 мая 2011

a==1.И тогда, i==2

Было бы a==2, если бы вы сделали a=++i

5 голосов
/ 24 мая 2011

А будет один. Это называется постинкрементом. Переменная i увеличивается только после использования. Противоположность называется предварительным приращением.

2 голосов
/ 24 мая 2011
int i = 1;

i теперь имеет значение 1.

int a = i++;

a имеет значение i++, то есть 1 (i++ возвращает 1, затемэто увеличивает значение i на 1).i теперь увеличивается с 1 и становится 2.

На данный момент, a == 1, i == 2.

2 голосов
/ 24 мая 2011

a==1, i++ возвращает значение i, а затем увеличивает его. К вашему сведению, если бы у вас было ++i, то было бы верно обратное, i будет увеличено, а затем будет возвращено значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...