Какие значения получат переменные x, y и z в результате объявления: int x=2,y=5,z=((x|y +x++) больше =9) ? x|y : ++x +2 ; на языке c# ?

Какие значения получат переменные x, y и z в результате объявления: int x=2,y=5,z=((x|y +x++)>=9) ? x|y : ++x +2 ; на языке c# ?
Гость
Ответ(ы) на вопрос:
Гость
Ответ: x=4; y=5; z=6. 1. Происходит присваивание x=2,y=5. 2. Вычисляется значение x|y +x++ в следующем порядке: а) y+x = 5+2 = 7 б) х++ увеличивает х на 1 и х=3. в) x|y = 3|7 - операция "или" над двоичным представлением 011 | 111 даст 111, т.е. 7. 3) Вычисляется z=(7>9) ? x|y : ++x+2 Поскольку 7>9 ложно, выполняется z=++x+2 a) ++х увеличивает х на 1 и х=4. б) z = 4+2 = 6.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы