Cの正しいHelloWorldプログラムは何ですか?
「chelloworld」のGoogle検索結果の最初のページは大きく異なり、多くは古いCであるため、簡単にコピーして貼り付けることができるように、標準バージョンを1か所にまとめたいと思います。
Cの正しいHelloWorldプログラムは何ですか?
「chelloworld」のGoogle検索結果の最初のページは大きく異なり、多くは古いCであるため、簡単にコピーして貼り付けることができるように、標準バージョンを1か所にまとめたいと思います。
あなたがどれだけ怠惰であるかに依存します::)
#error Hello World
これはCの標準のHelloWorldプログラムだと思います。
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
C99またはC2011では、次の5行のコードを使用できます。
#include <stdio.h>
int main(void)
{
puts("Hello World!");
}
C99(C89ではない)では最後にを省略できるreturn 0;
ため、呼び出し元の環境に決定論的ステータス0(成功)が返されます。関数への未使用の引数はありません。puts()
ヘッダーからのプロトタイプがあります。出力には、適切な行末が含まれます。私はそれがコーシャであり、本質的に最小限だと思います。
公式のGNUHelloWorldはここにあります:http ://www.gnu.org/software/hello/
GNU Helloプログラムは、親しみやすく親しみやすい挨拶を生成します。はい、これは「Hello、world!」を出力するクラシックプログラムの別の実装です。あなたがそれを実行するとき。
ただし、よく見られる最小バージョンとは異なり、GNU Helloは引数リストを処理して動作を変更し、多くの言語での挨拶などをサポートします。GNU Helloの主な目的は、これらのことを行う他のプログラムを作成する方法を示すことです。これは、GNUコーディング標準とGNUメンテナプラクティスのモデルとして機能します。
GNU HelloはCで記述されています。特に他の言語への翻訳を含む、他のプログラミング言語での実装については、GNUGettextディストリビューションを参照してください。
複数あり、Torの答えは良いですが、私は常にargc/argvメイン関数を使用することを好みます。
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return 0;
}
printfの失敗がチェックされていたというまれな奇妙なイベントでは、次のような事態が発生する可能性があります。
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
extern int errno;
extern FILE *stdout;
int main(int argc, char** argv)
{
errno = 0;
int err = printf("Hello World\n");
if (err < 0) {
return EXIT_FAILURE;
}
err = fflush(stdout);
if (err < 0 || errno != 0) {
return EXIT_FAILURE;
} else {
return EXIT_SUCCESS;
}
}
他のCプログラムと同様に、これはバグをさらに少なくするために何度も変更されています。私が与えることができるよりも本当に多くの信用に値するR..、dmp、およびスクーターに特に感謝します。
#include <stdio.h>
int main()
{
printf("Hello World\n");
getchar();
return 0;
}
「公式」のものは、カーニハンとリッチーによる「Cプログラミング言語」の初版のものになります。
#include <stdio.h>
main()
{
printf("hello, world\n");
}
「正しい」とはどういう意味ですか?
何も見逃さないので、これが最も正しいと思います。
#include <stdio.h>
#ifndef HELLO_STRING
#define HELLO_STRING "Hello, world!"
#endif
int main(int argc, char *argv[], char *envp[])
{
puts(HELLO_STRING);
return 0;
}
ただし、このプログラムはローカライズされていません。ローカリゼーションが必要な場合は、「libintl」を使用してください。
$ cat hello.c
#include <stdio.h>
int main(void)
{
printf("Hello world!\n");
}
$ c99 hello.c
$ ./a.out
Hello world!
$
次にあります:
#include <stdlib.h>
int main()
{
system("echo Hello World!");
return 0;
}