私はプログラミングのノブです。 私の先生はプリプロセッサディレクティブを一切使わずにプログラムをコンパイルし、出力を実行して表示しました。 ちょうどこんにちは世界のプログラムでした。 "printf"機能をどのように実行できたかは、指示文がないと混乱します。プログラムはヘッダファイルなしでコンパイルして実行します。turbo C++
答えて
"古典的" ANSI C(C89/90)では、適切な型の引数を指定することを念頭に置いている限り、事前宣言なしで非可変関数を呼び出すことができます。したがって、すべてが適切に処理されれば、標準ヘッダーを含まない正式に有効なC89/90プログラムを書くことができます。例えば。 C99から始まるすべての関数が呼び出される前に宣言する必要があるため、可能ではない現代のCで
int main()
{
puts("Hello World");
return 0;
}
。
printf
は、(プロトタイプを使用して)事前宣言せずに呼び出すと、printf
が可変関数であるため、C89/90でも未定義の動作が発生しました。あなたの先生はその
int main()
{
printf("Hello World\n");
return 0;
}
のような何かをしたのであれば、その後、彼/彼女はまだC.このC89/90プログラムについて学ぶためにたくさん持っていることは、それは、コンパイルを実行し、「見えた出力を表示した場合でも、有効ではありませんあなたに "良い"。
しかし、あなたはまだ手動で機能をあらかじめ宣言することができ
int printf(const char *format, ...);
int main()
{
printf("Hello World\n");
return 0;
}
と任意の前処理指令を使用していない有効なC89/90プログラムで終わります。そのようにするのは、良いプログラミングの練習ではありません。
TurboC++で "puts"コードを試しましたが、putsにプロトタイプが必要であるというエラーが表示されます。 –
@AlphaMineronまず、C++ではなく、Cとしてコードをコンパイルしていることを確認する必要があります。第二に、それは "古い" C - C89/90でなければなりません。 – AnT
ああ、私は参照してください............ –
- 1. はCでヘッダファイルをコンパイルしてコンパイルします
- 2. VimでCプログラムをコンパイルして実行
- 3. AndroidシステムでC/C++プログラムをコンパイルして実行するには
- 4. Mac OS XでCプログラムをコンパイルして実行するには
- 5. OS XでCプログラムをコンパイルしてUbuntu上で実行する
- 6. C++プログラムはコードブロックでコンパイルして実行しますが、端末でコンパイルできません
- 7. C#コードをプログラムでコンパイルして実行する
- 8. は、私はシンプルなAVRのCプログラムをコンパイルしたい場合はヘッダファイル
- 9. SDLプログラムをコンパイルしてDLLなしで実行する方法
- 10. OpenMPIプログラムをコンパイルして実行する
- 11. C++プログラムを崇高なテキストでコンパイルして実行する方法3?
- 12. Turbo C++プログラムがスタックする
- 13. プログラムはコンパイルされますが、実行していないようです。
- 14. dbusヘッダファイルを使ってCプログラムをコンパイルする
- 15. Cヘッダファイルとコンパイル/リンク
- 16. C++ヘッダファイルのインクルードとコンパイルC
- 17. ヘッダーが存在しないコンピュータでコンパイル済みのCプログラムを実行する
- 18. Ccrabble Cプログラムはコンパイルしていますが、ユーザにファイルの実行を許可していません
- 19. プログラムの実行中にC++コードを生成してコンパイルする方法は?
- 20. g ++でコンパイルしたC++プログラム
- 21. パスワードなしでrootとしてCプログラムを実行
- 22. 64ビットWindowsで32ビットCプログラムをコンパイルして実行する方法
- 23. Cプログラムはコマンドを実行する前に実行します
- 24. Sublime Text 3 - 端末にC++プログラム(パスにスペースが含まれています)をコンパイルして実行します。
- 25. CプログラムをEmacsのシングルステップで実行して実行する
- 26. Android 2.3.5でコマンドラインC++プログラムをコンパイルして使用しますか?
- 27. Gnatbenchはコンパイル前にAdaプログラムを実行します
- 28. NetBeansはコンパイル時エラーのあるJavaプログラムを実行します
- 29. コンパイルされたプログラムが見つからないため、bashスクリプトでcプログラムをコンパイルして実行していません
- 30. ソケットC++プログラムは、実行時に正常にコンパイルされました
なぜですか?プリプロセッサに必要なもの実際のコンパイル段階では、プリプロセッサのものを使わずにファイルをコンパイルします –
'printf'?だから先生は実際に 'printf'を使いました。 – AnT