VC++でC言語入門:puts()とprintf()の簡単な違いと「%」 [C言語入門]
スポンサードリンク
こんにちは菊月です。
前回、気分でputs()を突然使ってしまいました。
きっと混乱すると思いますので
ちょっと違いをまとめてみますね。
VC++でC言語入門:scanf()で数字を読み込み計算
http://umengine.blog.so-net.ne.jp/2014-09-23-1
printf()は書式付き、puts()は書式なし
これを改めて頭の片隅にでも。
書式付きのprintf()では次のように書けました。
printf("aの値%d",10);
しかしputs()では書式をつけれないので書けませんでしたね。
puts("aの値%d",10);
この書式なしってのはかなりポイント
次のプログラム例を見てみましょう。
テキスト版
//^^^^^^^^^^^^^^^^^^^^^^^^^^
#include <stdio.h> void main(){ printf("%d¥n"); puts("%d¥n"); getchar(); }
//^^^^^^^^^^^^^^^^^^^^^^^^^^
putsとprintfの中身は一緒ですが、
出力は前々違います
まず、printfの方は
「10進数(%d)で出力をし、改行(¥n)しなさい」
と命令していますが、後ろに整数や変数が何も書いてないので
しかたなく「0」と表示を表示します。
しかし、putsの方は
書式を付けれない = %dという文字はそのまま出力
実はこれが大きなポイントです。
printfで同じ出力にするには
次のように書きます。
テキスト版
//^^^^^^^^^^^^^^^^^^^^^^^^^^
#include <stdio.h> void main(){ printf("%%d¥n"); puts("%d"); getchar(); }
//^^^^^^^^^^^^^^^^^^^^^^^^^^
こういう風に
printf()では、%の前に%を付けることで
%を表示できます。
これによって、
%は表示にしたいんだよ!!
ってことをプログラムが理解してくれます。
ちょっと面倒な部分ではありますね。
それではまたあいましょう
スポンサードリンク
コメント 0