anarchy golf

さすがの俺も半年放置には猛省・・・!
SRMにも最近全然参加できてないし、本も小説ばっかりでこっち関係は大放置。
こりゃいかんということでanarchy golf始めたので、しっかり記録を取っていこう。
Short Coding読みつつ、C言語で過去問から少しづつ解いてみる。

hello world

include省略するとANSI C以前のK&R Cとして扱われるんだったかな?
だから引数チェックなんかも甘くなって、あれこれ省略しても動かせるようになるとか
聞いたことがあったような気がするけど、実際のところはどうなんだろう。
Short Codingにそのあたりのことが書いてあったと思うから読み直そう。
読んでるのに全然理解してないじゃん、俺orz
でもとりあえず動くからいいのだ。うん。
これはなんとか30Bでいけた。
しかし21Bは想像もつかない。

main()
{
  puts("Hello, world!");
}

echo

早速ここからトップ集団と差が開いてきた。
標準入力から読み込んだものをそのまま返せばいい。
mainの2番目の引数がchar型の配列とのことなので、それを利用させていただいた。
char型の配列を用意するより短くなって33B。
putsはforの中でも外でも変わらないと思うけど、何となくforの中に。
21Bはここからどうやって縮めるんだろうorz

main(i,c)
{
  for(;gets(c);puts(c));
}