最高のレイアウト
xxxxxxxxxx
extern int
errno
;char
grrr
;main( r,
argv, argc ) int argc ,
r ; char *argv[];{int P( );
#define x int i, j,cc[4];printf(" choo choo\n" ) ;
x ;if (P( ! i ) | cc[ ! j ]
& P(j )>2 ? j : i ){* argv[i++ +!-i]
; for (i= 0;; i++ );
_exit(argv[argc- 2 / cc[1*argc]|-1<<4 ] ) ;printf("%d",P(""));}}
P ( a ) char a ; { a ; while( a > " B "
/* - by E ricM arsh all- */); }
引用元:https://www.ioccc.org/1986/marshall/marshall.c
審査員・作者による説明:https://www.ioccc.org/1986/marshall/hint.html
“choo choo”と表示して無限ループになる。
$ gcc -o marshall marshall.c
$ ./marshall
choo choo
初のBest Layout賞。蒸気機関車のアスキーアート。明確なモチーフのあるアスキーアートプログラムとしては初めての作品。 “choo choo”(蒸気機関車のシュッポシュッポ)を出力するので、単純ではあるが難読化ネタと挙動があっている。
大半のコードは挙動には無意味。
凝った挙動にすることは捨てて、アスキーアートとして自然に見える文字を選ぶことを優先していると思われる。
たとえば縦棒が来て欲しいところでは |
)
!
i
]
などを選び、煙もカンマから丸っぽい小文字アルファベットを選んだことが推察される。
最下行に作者名が仕込まれているけれど、現代のIOCCCでは禁止事項なので注意。
clangはmain
の第2引数がchar**
でないと怒るので書き換えが必要だが、意匠に関わるので修正がむずかしい。