【C言語】printfの行数指定と特殊文字

printfで数字を入れることで行数の指定ができます。
例えば、「%5d」と書くと5行を指定することができ、

printf("%5d", 10);

と書くと、出力結果は

   10
---    #前3行は空白

というように5行文の出力結果が出せます。

「¥n」のような2文字で一つの意味を持つことを特殊な文字のことを「エスケープシーケンス」といいます。
「¥n」は改行という意味があり、他にも以下のような意味もあります。

エスケープシーケンス 意味
¥0 NULL文字
¥b バックスペース
¥t タブ(tab)
¥n 改行
¥r 復帰

また、「¥、’、”」を表示させる場合は文字の直前に「¥」を書きます。
例えば、「¥¥」、「¥’」、「¥”」など。

エスケープシーケンスを使った文字の出力

それぞれの役割がわかった上で、以下のようにプログラムを書きエスケープシーケンスを使用した出力を出してみます。

#include <stdio.h>

int main ()
{
    printf("    %8s %8s\n", "野菜A", "くだものB");
    printf("数量 %08d %08d\n", 16, 246);
    printf("重量 %8.4f %8.4f\n", 76.3, 556.1);
    printf("%d%c\n", 10, 'A');
    printf("%d\bA\n", 1000);
    printf("%d\t%d\n", 20, 30);
}

上記は改行やバックスペース、タブを使用した表示の出力結果を出すプログラミングです。
そして以下が、実行例です。

     野菜A くだものB
数量 00000016 00000246
重量  76.3000 556.1000
10A
100A
20	30

こんな感じでしょうか。
だんだん難しくなってきとりますが、確実に覚えていきます。

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!