#c
#c
Вопрос:
Какие значения в этом фрагменте кода имеют a
и i
соответственно и почему?
int i = 1;
int a = i ;
Означает ли a == 1
или a == 2
?
Комментарии:
1. Вы можете ответить на первую часть вопроса, просто запустив программу
2. Это одна из тех вещей, которые лучше попробовать, а не спрашивать здесь. Это называется постфиксным оператором и происходит после присваивания. Так
a == 1
иi == 2
.3. Или даже путем размышления. Я удивлен, что кто-то с репутацией 4K спросил об этом.
4. усилия, требуемые при вводе вопроса, могли бы быть лучше использованы для ввода кода и тестирования
5. Попробуйте это: ideone.com/n0W5X
Ответ №1:
a==1
. И тогда, i==2
Было бы a==2
, если бы вы сделали a= i
Ответ №2:
A будет единицей. Это называется последующим приращением. Переменная i увеличивается только после использования. Обратное называется предварительным приращением.
Ответ №3:
a==1
i
возвращает значение i
, а затем увеличивает его. К вашему сведению, если бы у вас было i
обратное, было бы верно, i
было бы увеличено, а затем было бы возвращено значение.
Ответ №4:
int i = 1;
i
теперь имеет значение 1.
int a = i ;
a
имеет значение i
, которое 1
( i
возвращает 1
, затем увеличивает значение i
на 1
). i
теперь увеличивается с 1
и становится 2
.
На данный момент, a == 1
, i == 2
.