Страницы

Поиск по вопросам

понедельник, 20 мая 2019 г.

Декремент постфиксный как правильно его использовать

Объясните пожалуйста почему данный код, при использование постфиксного декремента
int a = 5;//Тут 4 int b = a-- - (a + 2);//Выполняем сначала в скобках так как приоритет //в скобках 7 и потом отнимает 4 + 7 = (-3) //Где я припустил
Console.WriteLine($"Var a: {a}
Var b: {b}"); string key = Console.ReadLine();
Выдает в переменной b результат -1
Когда при такой записи
int a = 5;//Тут после операции 6 int b = a++ + (a + 2); //Здесь 6 + (5+2) = 13
Console.WriteLine($"Var a: {a}
Var b: {b}"); string key = Console.ReadLine();
Результат a=6 b=13


Ответ

Операнды вычисляются в том порядке, в каком они идут в выражении:
int a = 5; int b = a-- - (a + 2);
a -> 5 - первый член в выражении a-- -> a становится 4 (a+2) -> 6 - второй член в выражении 5 - 6 -> -1 - результат

int a = 5; int b = a++ + (a + 2);
a -> 5 - первый член в выражении a++ -> a становится 6 (a+2) -> 8 - второй член в выражении 5 + 8 -> 13 - результат

Комментариев нет:

Отправить комментарий