x = ++2<<4%3*3
所以我假设优先:
然后我想知道++ 2是不是意味着将x增加2?所以答案就是x:S?
请注意:这不是我试图编译它的代码,我在编写的编码练习中遇到问题,我应该计算x。
答案 0 :(得分:1)
然后我想知道没有+2 ++意味着将x增加2?
没有。 ++2
是非法的。预增量只能用于求值为左值的表达式。
答案 1 :(得分:0)
但后来我想知道++ 2是不是意味着将x增加2?
没有;它试图增加文字2
(这是不允许的)。 x += 2
将x
提高了2.
也许你(或你得到代码的人)打算写
x += 2 << 4 % 3 * 3; // whitespace is your friend, use it
在这种情况下,您要向x
添加16:
x += ( 2 << ( ( 4 % 3 ) * 3 ) )
x += ( 2 << ( 1 * 3 ) )
x += ( 2 << 3 )
x += 16