当前位置: 首页 > 知识库问答 >
问题:

为什么我的讲师写的C文件都是第一行以单个#开头?

谢夜洛
2023-03-14

我正在翻阅一些C课程笔记,每个C程序源文件都在程序的第一行以单个#开头。

然后是空行,后面是main函数。

(现在已经过期了,我真的不能问那个家伙。)

这里有一个例子:

#

#include <stdio.h>
int main() {
   printf("Hello, World!");
   return 0;
}

共有1个答案

许俊贤
2023-03-14

哇,这个要求可以追溯到20世纪70年代。

在前标准化C的早期,如果您想调用预处理器,那么您必须在源文件的第一行编写#。在文件顶部只写一个#可以灵活地放置其他预处理器指令。

出自伟大的丹尼斯·里奇本人的一份C版原稿:

我怀疑这位讲师只是在感情用事--自从ANSI C之后就没有必要这样做了。

 类似资料:
  • 每次我在Vs Code中创建一个新文件时,都会出现一个无标题的文件,除非我保存文件,否则我无法更改文件的扩展名。有没有一种方法可以更改文件的名称和扩展名,而不必先保存它?我看到有人在不保存文件的情况下重命名文件和扩展名。这就是为什么我想知道怎么做。

  • 我正在尝试登录数据库。我有一个带有属性url、用户名和密码的bean;带有登录参数的html页面(带有url的组合框,以及用户名和密码的输入文本字段);和一个jsp来处理请求。当我运行jsp时,bean中的所有属性都保持为空。我已经通过调试器运行了它,我可以看到它们都是空的。 以下是相关的HTML: 以下是我的观点: 和JSP: 在尝试初始化B()时,我不明白为什么我的所有属性都为null。编辑:

  • 问题内容: 因此,我一直在编写一个简单的3D GUI应用程序,旨在让用户只需双击JAR文件即可使用。在将其放入JAR文件之前,它可以正常工作,并且在命令提示符下运行时(在jar文件的目录中键入“ java -jar Modeler.jar”),可以在JAR文件中使其完美运行。但是,当我双击它时,什么也没有发生。它运行完美,没有命令提示符下的错误。我从经验中知道,没有显示启动时的崩溃报告,因为控制台

  • 问题内容: 我正在使用这样的应用程序加载文件: 属性文件(最初)是这样的: 奇怪的是,当我调用时,它总是返回,但是我可以加载所有其他属性而没有任何问题。我通过在属性文件的顶部添加注释来解决该问题,然后一切正常。 我的问题是:Java为什么要这样做?我似乎找不到关于此的任何文档,而且似乎违反直觉。 问题答案: 感谢@ KonstantinV.Salikhov和@pms在寻找答案方面的帮助;我决定发布

  • 问题内容: 我最近开始学习Java,发现每个Java类都必须在单独的文件中声明非常奇怪。我是C#程序员,C#并没有实施任何此类限制。 Java为什么要这样做?有设计上的考虑吗? 编辑(基于几个答案): 为什么在IDE时代Java现在不取消此限制?这不会破坏任何现有代码(或者会破坏吗?)。 问题答案: 根据Java语言规范,第三版: 这种限制意味着每个编译单元最多只能有一个这样的类型。 这种限制使J

  • 我有一个名为MovieID_NameID_Roles.txt的文件,容量为1,767,605 KB。 我需要遍历它来解析,然后填充数据库表。 我想处理几个小文件,而不是一个大文件,我找到了如何分割大文本文件的答案。 基于接受的答案,其中指出: 分成每行10000行的文件:拆分myLargeFile.txt-l 10000 ...但是在第二个屏幕截图的底部,给出了这个命令的一个在我看来更“花哨”的版