Страницы

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

среда, 24 апреля 2019 г.

Какой порядок выполнения операций и почему?

static class Program { static void Main() { var x=3; var y=(++x)*(x++)|4/2^2; Consoley.Write(y); } }


Ответ

В соответствии с приоритетами слева направо:
(++x) * (x++) | 4 / 2 ^ 2
^ ^^^^^ +--------------------- x=4, returns 4 | ^^^^^--------------- x=5, returns 4 `--------------------- 4*4=16 ^ | ^ | ^-+--------- 4 | | ^------- 2 | `--------- 4/2=2 | ^----- 2^2=0 | | ^--- 2^2=0 | `----- 2^2=0 `------------- 16|0=16
PS: Надеюсь, не ошибся.

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

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