Ассоциативность C99 для операторов - где она указывается?

В стандарте C99 выражения допускают приоритет и ассоциативность.

Приоритет задокументирован достаточно хорошо, поскольку порядок, в котором операторы появляются в документе, снижает приоритет, поэтому вызовы функций идут перед мультипликативными операторами, которые, в свою очередь, предшествуют аддитивным операторам.

Однако я не могу найти окончательного описания ассоциативности, левой или правой.Это важно, поскольку 35/5 * 2 будет 14 для одного варианта (35/5) * 2 и 3 для другой вариант 35 / (5 * 2) .

Раздел 6.5 Выражения / 3, сноска 74 заявляют:

Синтаксис определяет приоритет операторов при оценке выражения, который совпадает с порядком основных подпунктов этого подпункта , сначала наивысший приоритет.

В каждом основном подпункте операторы имеют одинаковый приоритет. Левая или правая ассоциативность указывается в каждом подпункте синтаксисом обсуждаемых в нем выражений.

Однако, если взять мультипликативный случай, например:

6.5.5 Мультипликативные операторы
Синтаксис
мультипликативное выражение:
выражение-приведение
мультипликативное-выражение * приведенное-выражение
мультипликативное-выражение / приведенное-выражение
мультипликативное-выражение% выражение-приведение

Ограничения

Каждый из операндов должен иметь арифметический тип. Операнды оператора % должны имеют целочисленный тип.

Семантика

Обычные арифметические преобразования выполняются с операндами.

Результатом двоичного оператора * является произведение операндов.

Результатом оператора / является частное от деления первого операнда на второй; результат оператора % - это остаток.В обеих операциях, если значение второй операнд равен нулю, поведение не определено.

Когда целые числа делятся, результатом оператора / является алгебраическое частное с любым дробная часть отброшена. Если частное a / b представимо, выражение (a / b) * b + a% b будет равно a .

Я не вижу здесь ничего, что упоминало бы об ассоциативности, и, похоже, нет никаких настроек по умолчанию где-либо еще в стандарте.

Я что-то здесь упускаю?

8
задан paxdiablo 23 February 2012 в 06:19
поделиться