C 言語で、結果を各行に揃えるにはどうすればよいですか?

C言語では、printf関数の書式制御子を指定することで出力内容の整列を行うことができます。方法は2通りあります。

  1. フィールド幅の指定: 各出力フィールドの幅を指定することで、出力を揃えることができます。例えば、2つの整数の出力を揃えたい場合、「%5d」という書式制御修飾子を使用できます。これは、出力フィールドの幅を5文字にすることを意味します。整数が必要な桁数より少ない場合、スペースが前に追加され、結果が揃います。

ネイティブな日本語で言い換えた文:

#include <stdio.h>

int main() {
    int num1 = 123;
    int num2 = 45;
    
    printf("%5d\n", num1);
    printf("%5d\n", num2);
    
    return 0;
}

上記のコードの出力は次のとおりです。

  123
   45

各整数は5文字幅で、不足部分は空白で埋めています。

  1. ネイティブの日本語で言い換えると次のとおりです。

サンプルコード:

#include <stdio.h>

int main() {
    int num1 = 123;
    int num2 = 45;
    
    printf("%d\t%d\n", num1, num2);
    
    return 0;
}

上記のコードは以下を出力します。

123     45

タブ文字\tは、出力にタブ位置を挿入し、結果が整列されるようになっています。結果の文字が8文字に足りない場合、自動的に空白で文字数を合わせます。

bannerAds