+ 1
Объясните по порядку, как узнать значение переменной x.
int x = 4; int y =9; x = (y%x !=0)? y/x : y
5 odpowiedzi
+ 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;
}
Результат будет таким же.
+ 2
такой вопрос : условие (y%x!= 0) Верно или ложно?
+ 2
All, now became a bit clearer.
Thanks.
+ 1
Said верно, т.к. 1 != 0