📜  C |宏和预处理器|问题5

📅  最后修改于: 2021-05-25 23:54:55             🧑  作者: Mango

#include 
#define ISEQUAL(X, Y) X == Y
int main()
{
    #if ISEQUAL(X, 0)
        printf("Geeks");
    #else
        printf("Quiz");
    #endif
    return 0;
}

上面程序的输出?
(A)极客
(B)测验
(C)极客或测验
(D)编译时间错误答案: (A)
说明:条件宏#if ISEQUAL(X,0)扩展为#if X == 0 。预处理结束后,所有未定义的宏均使用默认值0初始化。由于尚未定义宏X,因此将其初始化为0。因此,将打印Geeks。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。