#include <stdio.h>

int main(void)
{
  char ch;
  float f;
  double d;

  ch = 'X';
  f = 100.123;
  d = 123.009;

  printf("chは %c、", ch);
  printf("fは %f、", f);
  printf("dは %f", d);

  return 0;
}

ハーバード・シルト著、トップスタジオ訳、柏原正三監修 『独習C 第4版』 翔泳社より

これをコンパイルすると、数値が小数第6位まで表示されてしまうのはなぜでしょうか。
なお、使っているコンパイラは 『Borland C++ Compiler5.5』 です。