Я наткнулся на вопрос об арифметическом приоритете в тесте, и я не могу обернуть голову вокруг своего ответа.C арифметический приоритет
float x = 5 % 3 * + 2 - 4.5/5 * 2 + 2;
Мое «понимание» прямо сейчас, что умножение должно происходить первое перед делением и модулем, но когда я пытаюсь использовать этот подход, ответ 6,55 вместо 4,20. Я попытался сыграть с выражением (добавление скобок здесь и там), и получается, что 5% 3 происходит сначала перед всем остальным. Я просто не понимаю, почему, поскольку в соответствии с таблицей приоритетов я был предоставлен, это не должно быть так. Может ли кто-нибудь прояснить это для меня?
Как это работает? У вас есть '* +', и между ними не на что работать. Кто-то, пожалуйста, помогите мне понять. – user902384
Если у вас есть оператор с одинаковым приоритетом, первый будет первым обрабатываться. –
@Shiv, что + является унарным оператором на 2, который следует. – sh1