1. ホーム
  2. c

[解決済み] 講師が書いたC言語のファイルは、なぜ最初の行に#が一つ付いているのですか?

2022-03-23 02:56:49

質問

C言語講座のノートを見ているのですが あらゆる Cプログラムのソースファイルは、1つの # をプログラムの最初の行に書く。

その後、空白行があり、その後に他のものが続き、その後に main 関数を使用します。

の理由は何ですか? # ?

(今は学期外なので、チャップにはとても聞けません)

以下はその一例です。

#

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

解決方法は?

うわー、この要件は 過去 1970年代まで

での 超初期 標準化されていないC言語の時代、もしあなたが プリプロセッサー を書く必要がありました。 # をソースファイルの1行目の最初に書く。書き方 のみ a # をファイルの先頭に置くことで、他のプリプロセッサーディレクティブの配置を柔軟に変更することができます。

から 偉大なるデニス・リッチー自身によるC言語のオリジナル原稿 :

<ブロッククオート

12. コンパイラの制御線

[中略)プリプロセッサを起動させるためには、一番最初に プログラムの最初の行は#で始まります。NULL行はプリプロセッサによって無視されるので、この行は他の行を含む必要はない。 という情報があります。

その文書は素晴らしい読み物です(そして、私は狂った猫のようにこの質問に飛びつくことができました)。

講師が単に感傷的になっているだけなのでは。ANSI C以来、確かに要求されていない。