サンプルを実行してみる
今回は、printf関数を使用して様々なものを出力します。
とりあえず、以下のコードを実行してみましょう。
1 #include <stdio.h>
2
3 int main() {
4
5 printf("Hello World!\n");
6 printf("Hello %s\n", "World!");
7 printf("%s is %d\n", "number", 100);
8 printf("%f\n", 0.25);
9 printf("A の次は %c\n", 'B');
10
11 return 0;
12 }
実行すると、次のような出力を得られると思います。
Hello World!
Hello World!
number is 100
0.250000
A の次は B
コード解説
4行目からみていきましょう。
printf("Hello World!\n")
printf関数に"Hello World!\n" と書くことで、これを出力します。
次に5行目をみましょう。
printf("Hello %s\n", "World!")
なにやら "%s" というよくわからない文字列が出てきました。
これは、フォーマット指定子と呼ばれるもので、その後の ,(カンマ)で区切られた後に "World!" を書いています。
この "%s" は、文字列を取るフォーマット指定子で、カンマの後に記述した文字列を "%s" の代わりに出力します。
なので、上記では、"%s" が "World!" に置き換わって、"Hello World" と出力されたということです。
6行目をみてみましょう。
printf("%s is %d\n", "number", 100)
今度は、"%s" と "%d" と二つのフォーマット指定子が出てきました。
"%s" は文字列、"%d" は数値をとります。
また、フォーマット指定子を記述した数だけ ","(カンマ)が必要になり、左のフォーマット指定子から順番に指定子した書式のものを記述します。
今回は、左から順番に、文字列、数値 を取っているので、文字列である "number" と 数値である 100 をカンマ区切りで記述しています。
"%s" が最初なのに、カンマ区切りで数値を最初に書いてしまうとエラーになります。
また、文字列は、 " (ダブルクォーテーション)で囲む必要がありますが、数値は囲みません。
コード上で 100 は数値ですが、"100" は文字列になります。
printf("%f\n", 0.25)
"%f"は、少数のフォーマット指定子になります。
printf("A の次は %c\n", 'B')
文字列(文字が複数)は、"(ダブルクォーテーション)で囲む必要がありますが、文字は、'(シングルクォーテーション)で囲む必要があります。
また、文字のフォーマット指定子は、"%c" になります。
その他のフォーマット指定子は、以下の記事を参考してください。
printfフォーマット指定子まとめ
ちなみに
printf関数の中で、%(パーセント)を表示するには、以下のように%を二つ続けて書きます。
pinrtf("%%\n");
また、\(バックスラッシュ)を出力するときは、\を二つ続けて書きます。
その他、出力を整形する方法は以下の記事にまとめています。
[C言語] printf関数で出力を整形する
0件のコメント