У меня есть следующий фрагмент кода:
boolean calcula_A(int x, Tabla t)
{
int i;
boolean b;
i = x + 1;
b = 0;
while((b == 0) && (i != N))
{
b = b || t[x] == t[i];
i = i + 1;
}
return b;
}
Проблема в том, что я не понимаю действия инструкции: b = b || t[x] == t[i];
.
Я думаю, что лучший способ это понимать состоит в том, чтобы помещать это в if
if(b || t[x] == t[i]){
}
, Если ты имеешь cГіdigo наверху, только он войдет в условие, если b = true
, или если t[x] == t[i]
- true. Поскольку у тебя это есть твоя эта переменная b
, он возьмет стоимость условия, true
или false
. Если бы со стоимостью, перешедшей в переменные он вошел в условие, b был бы true
а false
. Я надеюсь объясниться хорошо. Приветствие.
Чтобы это понимать, ты должен знать предшествование из операторов, это, в quГ© команда работают операции, если нет parГ©ntesis определяя порядок. В твоем случае, у оператора равенства ==
есть большее предшествование, чем у оператора OR lГіgico ||
. Тогда это как имение следующих parГ©ntesis:
b = b || t[x] == t[i];
|
V
b = (b || (t[x] == t[i]));
В конце концов, результат сохраняет в переменной b
.