📜  C测验– 110 |问题2

📅  最后修改于: 2021-05-29 12:41:10             🧑  作者: Mango

由于宏名称和右括号之间没有空格,因此以下程序无法编译。

#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)””。因此,以上程序将编译并运行而没有任何问题。
这个问题的测验

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