C変換指定子と修飾子

C変換指定子および修飾子への便利なリファレンス

この投稿では、すべての人に役立つリファレンスを作成したいと思います。C変換指定子あなたは、一般的にで使用することができますprintf()scanf()および同様のI / O機能。

指定子 意味
%d/%i 符号付き10進整数
%u 符号なし10進整数
%c 署名なしchar
%s ストリング
%p 16進形式のポインター
%o 符号なし8進整数
%x/%X 符号なし16進数
%e 指数形式の浮動小数点数e表記
%E 指数形式の浮動小数点数E表記
%f double10進形式の数値
%g/%G double値に応じて、10進形式または指数形式の数値

これらの指定子に加えて、次のセットがあります修飾子

から始めましょう数字。間の数字を使用する%そしてフォーマット指定子で、最小フィールド幅を知ることができます。例:%3d印刷された数に関係なく、3つのスペースを取ります。

この:

printf("%4d\n", 1);
printf("%4d\n", 12);
printf("%4d\n", 123);
printf("%4d\n", 1234);

印刷する必要があります

   1
  12
 123
1234

If you put a dot before the digit, you are not telling the precision: the number of decimal digits. This of course applies to decimal numbers. Example:

printf("%4.2f\n", 1.0);
printf("%4.3e\n", 12.232432442);
printf("%4.1e\n", 12.232432442);
printf("%4.1f\n", 123.22);

will print:

1.00
1.223e+01
1.2e+01
123.2

In addition to digits, we have 3 special letters: h, l and L.

  • h, used with integer numbers, indicates a short int (for example %hd) or a short unsigned int (for example %hu)
  • l, used with integer numbers, indicates a long int (for example %ld) or a long unsigned int (for example %lu).
  • L, used with floating point numbers, indicates a long double, for example %Lf

Download my free C Handbook


More clang tutorials: