算术运算符执行顺序C ++

时间:2015-06-30 16:49:46

标签: c++ math operators execution

算术运算符(+-*/%)在C ++中的执行顺序是什么?标准BODMAS规则是否适用于此处? 举个例子,这里m的价值是什么:

m = 605 / 10 + 45 % 7 + 29 % 11;

4 个答案:

答案 0 :(得分:4)

C ++的运算符优先级是标准数学优先级,其中android-endpoints具有与%相同的优先级。

因此,表达式/将被评估为

m = 605 / 10 + 45 % 7 + 29 % 11;

哪会导致:

m = (605 / 10) + (45 % 7) + (29 % 11);

答案 1 :(得分:1)

在您的表达式中,由于operator precedence,您可以将其解析为以下

m = (605 / 10) + (45 % 7) + (29 % 11);

在这种情况下,结果将是70。您应注意的两件事是优先级关联性(从左到右与从右到左)

答案 2 :(得分:1)

可以找到完整订单here。 /和%是第一个。然后+。就像数学......

答案 3 :(得分:1)

标记这个社区维基,因为这个信息已经存在于很多地方......但是可能值得一个家。

通过数学运算,首先应用*/%,从左到右

然后应用

+-,也从左到右

引自here

您的m将是70