输出为34,但此表达式如何计算?
能不能带括号显示?
正确的运算符优先级为:
a + =(((((((2 * i ++)%5)* 4)+(--j))-(3 / k))+ 2);
但是我认为正确的应该是:
a + =((((((2 * i ++)%(5 * 4))+(--j))-(3 / k))+ 2);
#include <iostream>
using namespace std;
int main()
{
int a = 3, i = 12, j = 14, k = 16;
a += 2 * i++ % 5 * 4 + --j - 3 / k + 2;
cout << a;
}
答案 0 :(得分:3)
运算符/* type ICart = {
property1: string;
property2?: undefined;
someOtherProperty: string;
} | {
property2: string;
property1?: undefined;
someOtherProperty: string;
} */
,*
和/
具有相同的优先级,并且从左到右进行分组。因此它是%
而不是((2 * i++) % 5) * 4