Least likely to compile successfully

もっともコンパイルできなさそう

受賞者:Ian Phillipps

引用元:https://www.ioccc.org/1988/phillipps.c

審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1988/phillipps.hint

動作

クリスマスの12日間の歌詞を表示する。

$ gcc -o phillipps phillipps.c

$ ./phillipps
On the first day of Christmas my true love gave to me
a partridge in a pear tree.

On the second day of Christmas my true love gave to me
two turtle doves
and a partridge in a pear tree.

On the third day of Christmas my true love gave to me
three french hens, two turtle doves
and a partridge in a pear tree.

...

On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

解説

プログラムはreturn <expr>;の1文だけであるが、返り値の式の中でおそろしいほど複雑にmain関数を再帰呼び出ししている。 全体的な見た目は、古いプリンタの壊れた出力のよう(phillipps.hintには「古いタイプライターのキーを適当に叩いた感じに見えた」とある)。 出力をcompressで圧縮したよりも小さいコードになっているとのこと。 意味ありげに"%s %s %d\n"などと書いてあるが、printfは使っていないのでフェイントだと思う。おしゃれ。

clangはmainの第2引数と第3引数がchar**でないと怒るので、書き換えが必要。