c - 位操作过程的优先级似乎不正确

标签 c operators bit-manipulation

x = ++2<<4%3*3 

所以我认为按优先顺序:

  1. 列出项目
  2. ++2
  3. 4%3
  4. (2) *3 中得到什么。

但后来我想知道++2 不是意味着 x 增加 2 吗?所以答案是 x :S ?

请注意:这不是我试图编译的代码,这是我在书面编码练习中遇到的问题,我应该计算 x。

最佳答案

then i wondered doesn't ++2 mean increase x by 2?

没有。 ++2 是非法的。预自增只能与计算结果为左值的表达式一起使用。

关于c - 位操作过程的优先级似乎不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318204/

相关文章:

c - 右移 float 的二进制表示 -0.0

c - do-while 循环不遵守真值分配 (C)

c - 如何将单个字符从一个 char** 复制到另一个 char**?

bash - 为什么我的 here-docs (<<-) 给我一个语法错误?

vector 上的 C++ operator() 优化

c# - 按位将 long 解包为两个数字

c - 预链接的过程是怎样的?动态加载器是如何解决这些问题的?

c - 从 C 向 GenServer 发送消息

perl - yada-yada 运算符是否已被弃用?

java - 按位或运算的数学方程?