プログラミング学習日記

プログラミング学習時のメモ帳。

C言語 変換指定

間違っている場所あったら優しく教えてね

変換指定について軽くお勉強

変換指定とは, printf(" ここに来る%dとか ", 変数 ); のことを表す. イメージ的にはこの部分に様々なオプションを付け加えることができる.

変換指定は6文字4つの要素で指定されている

精度

  • int型の場合は大きいくらいに0が挿入される.
printf("[%.5d]\n", 123 };
// 出力
[00123]
printf("[%.1d]\n", 123 };
//出力
[123]
  • double型の時は精度の数字の分だけ小数点以下の数字が表示される
  • defaultでは小数点以下第6位まで表示される
printf("[%.5f]\n", 12.3 };
// 出力
[12.30000]
printf("[%.3f]\n", 12.3 };
//出力
[12.300]

最小表示数を指定する

  • 整数を%の後ろに入れます.
  • 0は最初に書かないようにする(別のオプションになる)
  • 指定けたより大きいけたの出力の場合は出力数のけたが優先される.
printf("[%1d]\n",123 };
// 出力
[123]
printf("[%5d]\n",123 };
//出力
[  123]         // 先頭に空白が2つ
  • doubkle型の場合は先に小数点以下6けたまでは確保される.
  • それより多い桁数を指定した場合の表示が異なる
printf("[%5f]\n", 12.3};
//出力
[12.300000]      // 小数点以下6桁は必ず表示される
printf("[%10f]\n", 12.3};
//出力
[  12.300000]     //10文字は表示するため最初に空白が2つある

他にもフラグというオプションが存在しますが今回は使わないので省略します. 追記できたらいいな

参考

少し詳しい変換仕様の説明

ブログを見ていただきありがとうございました