MST
星途 面试题库

面试题:C++中运算符优先级与结合性相关问题

请分析以下C++代码的输出结果,并解释原因。 ```cpp #include <iostream> int main() { int a = 2, b = 3, c = 4; int result = a + b * c / 2 - a % b; std::cout << result << std::endl; return 0; } ```
25.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 输出结果
    7
    
  2. 原因解释
    • 在C++中,表达式遵循运算符优先级规则。乘法(*)和除法(/)的优先级高于加法(+)和减法(-),取模(%)的优先级与乘法、除法相同。
    • 对于表达式 a + b * c / 2 - a % b,首先计算 b * c,即 3 * 4 = 12
    • 然后计算 12 / 2 = 6
    • 接着计算 a % b,即 2 % 3 = 2
    • 最后计算 a + 6 - 2,即 2 + 6 - 2 = 7。所以最终输出结果为7。