C Style constants

C Style constantsが、先ほど終了した。
C は、scanf() の "%i" か。scanf() の man すら調べもしなかった。
〜〜〜
この問題で面白かったのは、inaniwa さんの解答だな。引用すると:

main(s){for(;gets(&s,0.);)printf("%d\n",strtol());}

ベースとなっているのは、

main(s){for(;gets(&s);)printf("%d\n",strtol(&s,0,0));}

これは、↓以下のようにすると、

main(s){for(;gets(&s,0,0);)printf("%d\n",strtol());}

strtol() の引数を省略できる。
さらに、0 (int) の引数2つは、0. (double) の引数1つと同じになるのか。因みに、int引数2個==double引数1個なので、以下も正解だ。

main(s){for(;gets(&s);)printf("%d\n",strtol(&s,0.));}

それから、↓これもあり。短くないけど。

main(s){for(;gets(&s);)printf("%d\n",strtol(&s,0LL));}

〜〜〜
このような gets() から strtol() への流れは、定石となりそうだな。もちろん、他の関数のケースも含めて。ちょっと前に、gets()->atoi() というのもあったし。
ところで、リテラル、0. は、float ではなく、double なのか。C では、浮動小数点は、double で計算されるんだっけ。確かそうだった気もする。忘れてしまった。