printf 関数は、文字列を表示する関数でした。さらに、数値を指定する書式指定子 %d、%f などを説明しました。しかし、変換仕様(conversion specification)は他にもあり、ここで紹介します。% に続く文字を変換文字(conversion character)といいます。
| 書式指定子 | 対応する値 | 型 |
|---|---|---|
| %d | 整数値(10進数) | int、short、long |
| %u | 符号無し整数値 | int、short、long |
| %f | 小数点数 | float、double |
| %e | 小数点数 | float、double |
| %g | 小数点数 | float、double |
| %c | 文字 | char、int、short、long |
| %s | 文字列 | char *、char [ ] |
| %x | 整数値(16進数) | int、short、long |
| %o | 整数値(8進数) | int、short、long |
上から順に、d 変換、u 変換、f 変換、c 変換、s 変換、x 変換、o 変換といいます。int、short、long などの型の場合は、unsigned int、unsigned short など、unsigned 型の場合も用いることができます。
整数値や、小数点数を表示する場合は、その桁数を指定する必要がある場合があります。これまでは、特に指定しませんでした。その場合は、既定値(default)が設定されます。以下のように指定します。
% と、変換文字の間に数字を指定します。
# include <stdio.h>
int main()
{
int i = 1234;
long k = 23465;
float l = 2365.564;
printf("i = |%5d|\n", i);
printf("k = |%9l|\n", k);
printf("l = |%11.6f|\n", l);
return 0;
}
j = | 1234|
k = | 234565|
l = |2365.565400|
その他の変換仕様
[ つぎ | うえ ]
yasu@i.hosei.ac.jp