Страницы

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

среда, 4 марта 2020 г.

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

#c_sharp


Объясните пожалуйста почему данный код, при использование постфиксного  декремента 

int a = 5;//Тут 4
int b = a-- - (a + 2);//Выполняем сначала в скобках так как приоритет
//в скобках 7 и потом отнимает 4 + 7 = (-3)
//Где я припустил 

Console.WriteLine($"Var a: {a}\nVar 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}\nVar b: {b}");
string key = Console.ReadLine();


Результат a=6 b=13
    


Ответы

Ответ 1



Операнды вычисляются в том порядке, в каком они идут в выражении: 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 - результат

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

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