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: Надеюсь, не ошибся.
Комментариев нет:
Отправить комментарий