C++. програмирование немогу понять чему ровно .i=3 c=2. 1)i+=++c + ++i 2)i-=c-- + --i обясните все пополочкам ато я немогу понять

AbstergoAlexander AbstergoAlexander    1   15.09.2019 04:30    0

Ответы
AleksangraJarasyova AleksangraJarasyova  07.10.2020 16:11
--x означает, что сначала отнимается 1 от x и затем выполняются остальные действия.
x-- означает, что сначала делаются действия (с x-1), затем в конце отнимается 1 от x.

a -= b равноценно a = a - b
a += b равноценно a = a + b
Так же с умножением и делением

1) i += ++c + ++i равноценно i = (i+1) + ( (c+1) + (i+1) ) и c = c + 1
При i = 2, c = 3:
i = 10, c = 4
2) i -= c-- + --i равноценно i = (i-1) - ( (c-1) + (i-1) ) и c = c - 1
При i = 2, c = 3:
i = -3, c = 2

Удачи!
ПОКАЗАТЬ ОТВЕТЫ
Kisylyaaa Kisylyaaa  07.10.2020 16:11
I += c   это как i = i + c
i -= c   это как i = i - c

Операция пост-инкремента(i++) возвращает значение переменной i до выполнения этого инкремента. Операция префикс-инкремента (++i) возвращает значение уже измененной переменной.
Т.е.
1).
i += ++c + ++i  это как 3 = 4 + (3 + 4)  ← обрати внимание на 4(i), что после выполнения префикс-инкремента, значение i изменилось всем выражении.
4 + (3 + 4) = 11

2) i-=c-- + --i это как 3 = 2 - (2 + 2)  ← обрати внимание, что значение переменной c изменится, только после операции с ней, т.е. в данном случае, в скобке, она останется без изменений, хотя в конечном итоге, ее значение все таки изменится. С переменной i наоборот, значение изменяется сразу и это значение изменяется во всем выражении.
2 - (2 + 2) = -2
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика