开发者社区> 问答> 正文

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 1879 0
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
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载