もっとも不安定な挙動
受賞者:Jens Schweikhardt
動作・解説にジャンプ »
引用元:https://www.ioccc.org/1998/schweikh2.c
審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1998/schweikh2.hint
0と1の乱数列をゆっくりと表示する。
$ gcc -trigraphs -o schweikh2 schweikh2.c $ ./schweikh2 32 00000010011101101111000001101011
1秒のアラームシグナルをセットして、無限ループで変数をカウントアップしていき、シグナルが届いたタイミングでのカウンタの偶奇を0か1として出力するとのこと。 シグナルハンドラにmain関数をセットしているのが面白い。
main
元コードは??=line 10 ONE(O(1,1,2,6,0,6))で、これは#line "01\012"なんだけれど、当時のコンパイラでも動かなかったらしく、審査員によって#line "01\015"と変えられている。 しかし、これを現代のgccで実行するとinternal compiler errorになったので、元通りに#line "01\012"にしておいた。
??=line 10 ONE(O(1,1,2,6,0,6))
#line "01\012"
#line "01\015"
パッチをダウンロード