Ошибки, баги, вопросы - страница 3610
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это совсем о другом. Вычисляться они могут в любом порядке, а вот складываться, согласно примера, только по правилам арифметики. Исключительно слева неправо…
Артём, вариант с переменной i будет выглядеть так:
Сначала переменная идентифицируется значением 2. Затем оператор *= говорит о том, что переменной надо присвоить значение умноженное себя на что-то. А там, в этом «что-то» присваивается новое значение и это новое значение умножается на это «что-то». То-есть само на себя.
А вот с j получается так:
Сначала идентификация значением 2. Затем 2 умножается на ……… и тут, можно сказать не идентификация, а присвоение нового значения переменной.
А собственно, если будут другие вразумительные объяснения, я готов их принять безоговорочно…
Выражение в скобках должно считаться первым по мат.правилам?
Если так, то каков порядок расчёта, и при чём тут инициализирующее значение, которое в первую же очередь заменяется значением 5 ?
Выражение в скобках должно считаться первым по мат.правилам?
Если так, то каков порядок расчёта, и при чём тут инициализирующее значение, которое в первую же очередь заменяется значением 5 ?
Видимо я не смогу объяснить так, чтобы было понятно…
Вот смотри… Казалось бы переменной уже присвоено новое значение, ан нет, пока ещё j равна 2
Видимо я не смогу объяснить так, чтобы было понятно…
Я прекрасно понял ход твоих мыслей.
Не понял какое участие в них имеет инициализирующее значение при условии, что оно сразу же должно заменяться значением 5
Вот смотри… Казалось бы переменной уже присвоено новое значение, ан нет, пока ещё j равна 2
Именно. Почему?
Именно. Почему?
Наверное потому, что присвоение нового значения происходит в момент использования. Или вообще присвоение не происходит в таком случае… ХЗ означает, я тоже Хотел бы Знать…
я тоже Хотел бы Знать…
Наверное потому, что присвоение нового значения происходит в момент использования. Или вообще присвоение не происходит в таком случае… ХЗ означает, я тоже Хотел бы Знать…
Я дал объяснение, но вы его не поняли.
Из Вашего пояснения видно, что последовательность расчётов никак не регламентируется, а отдаётся на "откуп" компилятору.
Но в обсуждаемом примере чётко прослеживается последовательность, где можно (а может и нужно) учитывать математические приоритеты. Иначе нет возможности понимать в какой из очередных компиляций приоритеты будут расставлены иначе, чем в предыдущий раз, что приведёт к совершенно иным результатам при работе программы.
Я понимаю, что можно все расчёты сделать построчно шаг за шагом. Но оно стоит того?
Из Вашего пояснения видно, что последовательность расчётов никак не регламентируется, а отдаётся на "откуп" компилятору.
Но в обсуждаемом примере чётко прослеживается последовательность, где можно (а может и нужно) учитывать математические приоритеты. Иначе нет возможности понимать в какой из очередных компиляций приоритеты будут расставлены иначе, чем в предыдущий раз, что приведёт к совершенно иным результатам при работе программы.
Я понимаю, что можно все расчёты сделать построчно шаг за шагом. Но оно стоит того?
MQL использует ту же компиляцию, что и язык C.
Оба варианта верны.
Вы НЕ МОЖЕТЕ полагаться на порядок выполнения или на то, как компилятор будет оценивать операнды.