C言語のHello worldプログラムには、入門書によって趣が異なるいくらかのバリエーションが存在する。
Cライブラリのprintf関数を利用したものが最も一般的で、以下のようなものである。
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
なお、printf関数は変数や書式化された文字列などが表示できる比較的高機能な出力関数であり、
Hello worldプログラムにはオーバースペックであると言える。
Cライブラリには固定文を表示するためのputs関数が用意されており、これを用いる入門書もある。
#include <stdio.h>
int main(void) {
puts("Hello, World!");
return 0;
}
また、C言語の仕様から言えば、puts関数に渡している引数は文字列ではなく文字列へのポインタである。
よって、入門者にとって難関と言われるポインタを早くから理解させるために、
Hello Worldプログラムからポインタを使ったコードを例示する入門書もある。
#include <stdio.h>
int main(void) {
char *str = "Hello, World!";
puts(str);
return 0;
}
さらには、文字列をchar型へのポインタではなく配列として扱うことを好み、以下のようなコードを例示する入門書もある。
#include <stdio.h>
int main(void) {
char str[] = "Hello, World!";
puts(str);
return 0;
}
このように、入門書によって多様なHello World!プログラムが見られるのも、自由度の高いC言語ならではの現象といえよう。