C小测验——110 |问题2

以下程序无法编译,因为宏名和开括号之间有空格。

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
喜欢就支持一下吧
点赞14 分享