代码之家  ›  专栏  ›  技术社区  ›  Aleph

标识符在C预处理器指令中的作用是什么

  •  1
  • Aleph  · 技术社区  · 2 年前

    当我执行以下代码时,输出是 5 6 .

    int main()
    {
        int one = 5, two = 6;
        #ifdef next
        one = 2;
        two = 1;
        #endif
            printf("%d %d", one, two);
        return 0;
    }
    

    肯定是里面的代码 #ifdef #endif 不会被执行。 我无法理解标识符的用途 next .什么是关键字而不是 下一个 这将使编译器在内部执行代码 #ifdef#endif 部分

    reference

    1 回复  |  直到 2 年前
        1
  •  3
  •   Irelia    2 年前

    您只需定义宏

    #define next
    int main()
    {
        int one = 5, two = 6;
        #ifdef next
        one = 2;
        two = 1;
        #endif
            printf("%d %d", one, two);
        return 0;
    }
    

    现在,这些值将发生变化。