Книга: Язык программирования Си для персонального компьютера
Операция последовательного вычисления
Операция последовательного вычисления
Операция последовательного вычисления последовательно вычисляет два своих операнда, сначала первый, затем второй. Оба операнда являются выражениями. Синтаксис операции:
<выражение1>, <выражение2>
Знак операции - запятая, разделяющая операнды. Результат операции имеет значение и тип второго операнда. Ограничения на типы операндов (т. е. типы результатов выражений) не накладываются, преобразования типов не выполняются.
Операция последовательного вычисления обычно используется для вычисления нескольких выражений в ситуациях, где по синтаксису допускается только одно выражение.
Примеры:
/* пример 1 */
for(i=j=1; i+j<20; i+=i, j--)…
/* пример 2 */
func_one( x, у + 2, z);
func_two((x--, y + 2), z);
В первом примере каждый операнд третьего выражения оператора цикла for вычисляется независимо. Сначала вычисляется i+=i, затем j--.
Во втором примере символ "запятая" используется как разделитель в двух различных контекстах. В первом вызове функции func_onc передаются три аргумента, разделенных запятыми: х, у+2, 2. Здесь символ "запятая" используется просто как разделитель
В вызове функции func_two внутренние скобки вынуждают компилятор интерпретировать первую запятую как операцию последовательного вычисления. Этот вызов передает функции func_two два аргумента. Первый аргумент — это результат последовательного вычисления (х--,у+2), имеющий значение и тип выражения у+2. Вторым аргументом является z.
- 3. Операция разности.
- Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
- Удобная операция объединения строк
- 3. Null-значения и общее правило вычисления выражений
- 1. Унарная операция выборки
- 2. Унарная операция проекции
- 3. Унарная операция переименования
- 1. Операция выборки.
- 2. Операция проекции.
- 3. Операция переименования.
- 1. Операция объединения.
- 2. Операция пересечения.