📜  C测验– 110 |问题1

📅  最后修改于: 2021-05-26 00:39:54             🧑  作者: Mango

假设有人通过以下方式编写了增量宏(即,将值递增一):

#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语言中,对于带有参数的宏,宏名开括号之间不能有空格。这就是为什么只有INC1和INC3正确的原因。基本上,“#define INC2(a)((a)+1)”导致“ INC2”扩展为“(a)((a)+1)”,这不是所需的扩展。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。