TH /TannoHubYOSHINOBU TANNOEN ↗
Cプログラミング

C言語の%dと%f:表示したい値の型を確認する

丹野 嘉信 / 技術ノート

printfの書式指定子は、後ろに渡す値の型に合わせます。整数を表示する %d と、小数を表示する %f を区別しましょう。

int count = 3;
double temperature = 23.5;
printf("%d\n", count);
printf("%.1f\n", temperature);

表示は3と23.5です。%.1f は小数点以下1桁で表示する指定です。printfに渡すfloatはdoubleへ変換されるため、floatにも%fを使います。

合わない指定をしたらどうなる?

整数を%fで表示するなど、型と書式が一致しない場合は未定義動作になります。表示結果から規則を推測するのではなく、変数宣言と書式を確認します。コンパイラの警告も手掛かりになります。

scanfとは区別する

入力のscanfでは、float型の変数のアドレスには%f、double型の変数のアドレスには%lfを使います。出力のprintfと入力のscanfでは、渡すものも書式の扱いも異なります。

続けて読む

著者の研究・開発と教育活動 →