Вам необходимо знать как приоритет , так и ассоциативность операторов.
Умножение (*) имеет более высокий приоритет, чем сложение (+), поэтому 2 + 3 * 4 интерпретируется как 2+ (3 * 4), как в C, так и в обычной математике. Но в выражении типа 2 * 3/4 или 2 * 3 * 4 все операторы имеют одинаковый приоритет, и вам нужно взглянуть на ассоциативность. Для большинства операторов это слева направо, что означает, что вы начинаете группировку слева: 2 * 3/4 становится (2 * 3) / 4, 2 * 3 * 4 * 5 становится ((2 * 3) * 4 ) * 5 и т. Д.
Исключением является присвоение, которое является оператором в C. Назначение является ассоциативным справа, поэтому a = b = 3 следует читать как a = (b = 3).
Любая хорошая книга или учебник по Си должны иметь таблицу всех операторов (например, this ), как с приоритетом, так и с ассоциативностью.