printf 関数(復習)
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)が設定されます。以下のように指定します。
% 数字1 . 数字2 変換文字
% と、変換文字の間に数字を指定します。
# 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| |
その他の変換仕様