[英]Multiplication vs Division in C
乘法,除法和余數具有相同的優先級,並且從左到右關聯。
例如, x * y / z
與(x * y) / z
相同,並且
x / y * z
與(x / y) * z
。
這是否與BODMAS規則匹配似乎是一個有爭議的問題,但這是關於BODMAS含義的問題,而不是關於C語義的問題。鏈接的Wikipedia文章說“乘法和除法具有相同的優先級”,這是與C一致(除了不提及C的余數運算符%
)。
C標准 (鏈接到C11的N1570草案)沒有直接定義“運算符優先級”。 相反,它定義了表達式的分層語法。 例如, 乘法表達式 (在6.5.5節中定義)的語法為:
乘法表達式 :
演員表述
乘法表達式*
強制轉換表達式
乘法表達/
強制表達
乘法表達%
強制表達
強制轉換表達式 (6.5.4)可以包含或不包含強制轉換運算符; 它是可以在multiplicative-expression中作為術語出現的任何表達式 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.