预处理是说编译器解析你的代码之前进行处理,不是说你正式写代码前要写预处理。比如include只是相当于把相应的文件原模原样复制过来,并不要求在开头。比如这一段是对的:
int f(int x)
{
return x*x;
}
#include
int main()
{
printf("%d\n",f(5));
return 0;
}
宏定义 “#define 宏名 宏定义字符串” 也是编译预处理命令,它不放在程序的起始位置,所以B是错的。
没有必要非要放在开头,这个没有规定的,平时我们都放在开头只是为了方便而已
预处理的命令行 可以位于程序的任何位置. 比如#define xxx YYY