x = ++2<<4%3*3
所以我假设按优先级:
- 列表项
- ++2
- 4%3
- 什么是进去(2(*3。
但是后来我想知道++2不是意味着将x增加2吗? 所以答案是 x :S ?
请注意:这不是我试图编译的代码,这是我在我应该计算 x 的书面编码练习中遇到的问题。
然后我想知道++2不是意味着将x增加2吗?
不。 ++2
是非法的。前增量只能与计算结果为左值的表达式一起使用。
但是后来我想知道++2不是意味着将x增加2吗?
否;它尝试递增文字2
(这是不允许的(。 x += 2
x
增加 2。
也许你(或你从那里获得代码的人(打算写
x += 2 << 4 % 3 * 3; // whitespace is your friend, use it
在这种情况下,您将 16 添加到x
:
x += ( 2 << ( ( 4 % 3 ) * 3 ) )
x += ( 2 << ( 1 * 3 ) )
x += ( 2 << 3 )
x += 16