C |宏与预处理器|问题5

null

#include <stdio.h>
#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) 说明: 条件宏 #如果相等(X,0) 扩展到 #如果X==0 .预处理结束后,所有未定义的宏都将以默认值0初始化。由于宏X尚未定义,因此它被初始化为0。所以 极客 是印刷的。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享