The*_*Man 424 c c-preprocessor
为什么我的讲师写的所有C文件都以#开头?
我正在阅读一些C课程笔记,每个 C程序源文件都以程序#
第一行的单个文件开头.
然后有空格,然后是其他东西后跟main
函数.
是什么原因#
?
(现在这是不合时宜的,我不能真的问这个小伙子.)
这是一个例子(在结束时有一个额外的行#
)
#
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Bat*_*eba 608
哇,这个要求可以追溯到 20世纪70年代.
在预标准化C的早期阶段,如果你想调用预处理器,那么你必须#
在源文件的第一行写第一个东西.仅#
在文件顶部写入a 可以灵活地放置其他预处理器指令.
12.编译器控制线
[...]为了使[预]处理器被调用,程序的第一行必须以#开头.由于预处理器会忽略空行,因此该行不需要包含其他信息.
那个文件可以很好地阅读(并允许我像疯猫一样跳过这个问题).
我怀疑这是讲师只是多愁善感 - 从ANSI C开始就没有必要.