Приднестровская поддержка XOOPS
В какой последовательности будет вычисляться приведенное далее выражение?
$X = 5 + 10 * 3 / 2;
Это зависит от приоритета выполнения операторов. В данном случае последовательность вычисления выражения будет следующей.
1. Число 10 будет умножено на 3, так как приоритет оператора умножения выше приоритета оператора сложения.
2. Полученное значение будет поделено на 2, так как приоритет оператора деления равен приоритету оператора умножения (а операторы с равными приоритетами выполняются слева направо), но выше чем у оператора сложения.
3. К полученному значению будет прибавлено число 5, так как оператор присваивания = имеет наименьший приоритет.
4. Значение будет присвоено переменной $X.
С помощью скобок можно изменить последовательность вычисления выражения:
$X = (5 + 10) * 3 / 2;
Теперь порядок вычислений будет другим:
1. К числу 5 будет прибавлено 10.
2. Полученное значение будет умножено на 3.
3. Полученное значение будет поделено на 2.
4. Значение будет присвоено переменной $X.
Перечислим операторы в порядке убывания приоритета:
1. ++, -- - инкремент, декремент.
2. *, /, %, - умножение, деление, остаток от деления.
3. +, - - сложение, вычитание.
4. <<, >> - двоичные сдвиги.
5. & - двоичное И.
6. ^ - двоичное исключающее ИЛИ.
7. | - двоичное ИЛИ.
8. =, +=, -=, *=, /=, %= - присваивание.
Отправитель | Нити |
---|
2 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 2 далее... |