#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