乘法,除法和余数具有相同的优先级,并且从左到右关联.
例如,x * y / z与...相同(x * y) / z并且
x / y * z相同(x / y) * z.
这是否符合BODMAS规则似乎是一个争议的问题,但这是关于BODMAS的意义的问题,而不是关于C的语义.链接的维基百科文章说"乘法和除法具有相同的优先权",这是与C一致(除了它没有提到C的余数运算符%).
的C标准(该链接是C11的N1570草案)不直接定义"操作符的优先级".相反,它定义了表达式的层次结构语法.例如,乘法表达式的语法(在6.5.5节中定义)是:
multiplicative-expression:
cast-expression
multiplicative-expression cast-expression multiplicative-expression cast-expression multiplicative-expression cast-expression*
/
%
甲铸表达式(6.5.4)可以或可以不包括一个转换运算符; 它是任何表达式,可以在乘法表达式中作为术语出现.