объясните строку кода в c #
return n! = 0 && n % 2 == 0 ? - n: n;
Что такое n! и? - n: n;​

Ответы

Ответ дал: igorShap
0

return n != 0 && n % 2 == 0 ? -n : n;

Оператор != - оператор равенства, возвращающий истину, если операнды не равны, и ложь иначе. n != 0 - значение условия "n не равно 0"

Оператор ?: - тернарный оператор, его запись имеет вид _условие_ ? _возвращаемое_значение_при_истинности_условия_ : _возвращаемое_значение_при_ложности_условия_ .

Операторы, использованные в выражении, по убыванию приоритета (операторы с равным приоритетом в одной строке):

унарный -

%

==      !=

&&

?:

А тогда return n != 0 && n % 2 == 0 ? -n : n; эквивалентно return ((n != 0) && ((n % 2) == 0)) ? (-n) : n;

Если n не равно 0 и дает остаток 0 при делении на 2 (т.е. четно), возвращается значение -n, иначе возвращается n.

Вас заинтересует