#include <stdio.h> #if X == 3 #define Y 3 #else #define Y 5 #endif int main() { printf ( "%d" , Y); return 0; } |
以上程序的输出是什么? (A) 3. (B) 5. (C) 3或5取决于X的值 (D) 编译时错误 答复: (B) 说明: 在第一种情况下,输出似乎是编译时错误,因为尚未定义宏X。在C语言中,如果未定义宏,则预处理器默认为其分配0。因此,控件转到条件else部分并打印5。请参阅下一个问题以获得更好的理解。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END