小编Tau*_*fiq的帖子

具有运算符优先级的宏功能是否显示异常结果?

#define SQUARE(x,y) (x<y?x:y)
   int a = 5, b = 6, c = 3;
    int var = SQUARE(a & c,b);
Run Code Online (Sandbox Code Playgroud)

我搜索并了解到'''在'&'之前.根据规则它应该给'5'.但它输出为'1'.但在某些情况下,它会提供正确的输出.你能解释一下宏观规则以及我在这里缺少什么.

c bitwise-operators

0
推荐指数
1
解决办法
135
查看次数

标签 统计

bitwise-operators ×1

c ×1