以下程序无法编译,因为宏名和开括号之间有空格。
null
#include "stdio.h" #define MYINC ( a ) ( ( a ) + 1 ) int main() { printf ( "GeeksQuiz!" ); return 0; } |
(A) 符合事实的 (B) 错误的 答复: (B) 说明: 请注意#define是一个预处理器指令,即它是在实际编译之前处理的。在上面的程序片段中,程序中没有使用MYINC。因此,尽管MYINC不会执行预期的行为,即不会增加a,但MYINC是一个有效的宏。如果我们在程序中的任何地方使用MYINC,它就会被替换为“(a)((a)+1)”。因此,上述程序将编译和运行没有任何问题。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END