Как эти две строки утверждения отличаются?Colon if statement difference
a<=20? b=30: c= 30;
(a<=20)?b:c = 30;
Если я даю значение а = 20, то
Первая линия дает Ь = 20, с = 0 Второй строкой дает Ь = 0, С = 0
Не вопрос о назначении ,
Как эти две строки утверждения отличаются?Colon if statement difference
a<=20? b=30: c= 30;
(a<=20)?b:c = 30;
Если я даю значение а = 20, то
Первая линия дает Ь = 20, с = 0 Второй строкой дает Ь = 0, С = 0
Не вопрос о назначении ,
Согласно правилу ternary conditional operator,
a<=20? b=30: c= 30;
такой же, как:
if (a <= 20) {
b = 30;
} else {
c = 30;
}
и (a<=20)?b:c = 30;
такой же, как:
if (a <= 20) {
b;
} else {
c = 30;
}
Таким образом, разница между делу № 1 и случай # 2, устанавливается ли b
, когда условие равно true
.
оператор старшинства:
это:
(a<=20)?b:c = 30;
интерпретируется как:
(a<=20) ? (b) : (c=30) ;
вы, вероятно, хотите
((a<=20)?b:c) = 30;
Это * назначение * вопрос; вы не * присваиваете * значение 'b';) – ChiefTwoPencils
Это хорошо работает. инициализировать b –