倍精度実数を出力するprintf("%lf\n",d);
は正しいんですか?林晴彦なんて、ねえ、なんでprintfに%lf使うの?とか書いてたけど
VC++は通るのよね。一方、gccでは4.8.1でもうまく出力されない。

しかし、C99ではprintfでも%lfが正しいという説が。
C++では間違いで、Cなら%lfは正しいの?

あとわからんのが、abs関数。

gcc4.8.1の場合、
#include <cmath>すると、abs(x)はxがdoubleなら戻り値もdouble
ところが、
#include "math.h" とすると、戻り値はintになってしまう。

VC++は意図的か、鈍感なのかdoubleを返す(C++なら関数の
オーバーロードでこっちが自然だと思うけど)

C99では、void main(void)とint main(void)はどちらが正しいか
規定されていない。C言語はかなり混乱してるように思うが?