C小测验——110 |问题1

假设有人以以下方式编写增量宏(即将值增加1):

null

#define INC1(a) ((a)+1)
#define INC2 (a) ((a)+1)
#define INC3( a ) (( a ) + 1)
#define INC4 ( a ) (( a ) + 1)


为上述宏选择正确的语句。 (A) 只有INC1是正确的。 (B) 所有(即INC1、INC2、INC3和INC4)都是正确的。 (C) 只有INC1和INC3是正确的。 (D) 只有INC1和INC2是正确的。 答复: (C) 说明: 在C语言中,对于带有参数的宏,它们之间不能有任何空格 宏名称 左圆括号 .这就是为什么只有印加1和印加3是正确的。基本上,“#define INC2(a)((a)+1)”导致“INC2”扩展为“(a)((a)+1)”,这不是期望的扩展。 这个问题的小测验

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