printf 関数

[ つぎ | うえ ]

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|

その他の変換仕様


[ つぎ | うえ ]
yasu@i.hosei.ac.jp