通常,C中的库头文件(例如stdio.h)不仅包含函数的声明和宏定义,而且还包含用户定义的数据类型(例如struct,union等)的定义,typedef和全局变量的定义。因此,如果我们在C程序中多次包含相同的头文件,则将导致编译问题,因为将重新定义头文件的许多结构。因此,这意味着以下程序将给出编译错误。
#include “stdio.h”
#include “stdio.h”
#include “stdio.h”
int main()
{
printf(“Whether this statement would be printed?”)
return 0;
}
(A)是
(B)虚假答案: (B)
说明:可以在程序中多次包含库头文件。但是实际上头文件的内容仅包含一次。它的实现方式是由于使用了“ #ifndef”,“#define”和“ #endif”。这就是为什么即使在用户定义的头文件中也建议使用这些preprocesor宏的原因。有关此示例和用法,请查看此问题的“讨论”。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。