开发者社区 问答 正文

define 的一个问题

请问 B 填什么,才输出ok

#define A 1
#define B ???
#define min(a,b) a<b?a:b

int main(int argc, char const *argv[])
{
    if (A > B)
    {
        if (A == min(A,B))
        {
            printf("ok\n");
        }
    }
    return 0;
}

展开
收起
a123456678 2016-06-08 20:56:30 2035 分享 版权
1 条回答
写回答
取消 提交回答
  • define B 1 || 1 == 1
    
    经预处理展开后:
    
    if (1 > 1 || 1 == 1)
    {
        if (1 == 1<1 || 1 == 1?1:1 || 1 == 1)
        {
            printf("ok\n");
        }
    }
    或者:define B 1||1
    
    经预处理展开后:
    
    if (1 > 1||1) // (1 > 1) || 1
    {
        if (1 == 1<1||1?1:1||1) // ((1 == (1<1)) || 1) ? 1 : (1 || 1)
        {
            printf("ok\n");
        }
    }
    2019-07-17 19:32:44
    赞同 展开评论
问答地址: