+ 1

Объясните по порядку, как узнать значение переменной x.

int x = 4; int y =9; x = (y%x !=0)? y/x : y

22nd Aug 2018, 10:09 AM
Said
Said - avatar
5 Answers
+ 2
(y%x != 0) ? y/x : y условие ? значение1 : значение2 Если условие верно, возвращается значение1; если нет - значение2. Оператор % возвращает остаток от деления одного числа на другое, соответственно y%x = 9%4 = 1. Условие 1 != 0 соблюдено, поэтому переменной x присваивается значение1, т.е. x = y/x = 2. Тернарный оператор (?) удобен в случае, когда переменной нужно присвоить какое-то значение, в зависимости от какого-то условия. Эквивалентно можно это все записать так: if (y%x !=0) { x = y/x; } else { x = y; } Результат будет таким же.
22nd Aug 2018, 10:23 AM
Steppenwolf
Steppenwolf - avatar
+ 2
такой вопрос : условие (y%x!= 0) Верно или ложно?
22nd Aug 2018, 10:30 AM
Said
Said - avatar
+ 2
All, now became a bit clearer. Thanks.
22nd Aug 2018, 10:54 AM
Said
Said - avatar
+ 1
Said верно, т.к. 1 != 0
22nd Aug 2018, 11:13 PM
Steppenwolf
Steppenwolf - avatar