算术表达式从左到右或反向评估?

时间:2013-08-31 10:23:44

标签: c++

在这里我把o / p称为'1',但我的期望是'100'。为什么会这样?请说清楚。谢谢!

int main()
    {
            cout << 100 / 10 / 10 << endl;
    }

3 个答案:

答案 0 :(得分:5)

对于具有相同优先级的算术运算符,从左到右进行评估。这就是为什么你得到1 -

  1. 首先,将100除以10,得到10
  2. 结果再次除以10,得到1
  3. 查看此Precedence Table

答案 1 :(得分:0)

当运算符具有相同的优先级时,它们将从左到右进行评估。

这是基本的代数。

答案 2 :(得分:0)

来自TCPPL第4版的第257页

  

一元运算符和赋值运算符是右关联的;所有   其他人是左联想的。例如,a = b = c表示a =(b = c)而   a + b + c表示(a + b)+ c