簡體   English   中英

C中的乘法與除法

[英]Multiplication vs Division in C

C是否遵循BODMAS規則 我對乘法和除法感到困惑。

乘法的優先級高於除法還是相反?

乘法,除法和余數具有相同的優先級,並且從左到右關聯。

例如, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM