Объясните порядок выполнения операций
Есть выражение с наличием постинкремента.
int e = 0, f = e++ + 5 * e;
Console.WriteLine($"e = {e}, f = {f}");
В итоге выводит e = 1, f = 5 хотя по логике
- 5 умножаем на
eт.е.5*0 = 0 e + 0 = 0значитf = 0- увеличиваем
e++значитe = 1
Итог: по моей логике е = 1, f = 0
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Ваша логика неверна, ибо постфиксный инкремент (...++) имеет в данном выражении наибольший приоритет и действует он так - значение операнда возвращается, а затем увеличивается на единицу.
Таким образом:
- Возвращаем e (0) на место e++
- Увеличиваем e на единицу
- Умножаем
- Складываем