SSブログ
サイト移しました 書いてた記事も結構移してます こちらからどうぞ







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);

VC++


この書式なしってのはかなりポイント
次のプログラム例を見てみましょう。

VC++


テキスト版
//^^^^^^^^^^^^^^^^^^^^^^^^^^
#include <stdio.h>

void main(){
    
    printf("%d¥n");

    puts("%d¥n");

    getchar();
}

//^^^^^^^^^^^^^^^^^^^^^^^^^^

putsとprintfの中身は一緒ですが、
出力は前々違います


まず、printfの方は

 「10進数(%d)で出力をし、改行(¥n)しなさい」

と命令していますが、後ろに整数や変数が何も書いてないので
しかたなく「0」と表示を表示します。

しかし、putsの方は

 書式を付けれない = %dという文字はそのまま出力

実はこれが大きなポイントです。

printfで同じ出力にするには
次のように書きます。


VC++


テキスト版
//^^^^^^^^^^^^^^^^^^^^^^^^^^
#include <stdio.h>

void main(){
    
    printf("%%d¥n");

    puts("%d");

    getchar();
}

//^^^^^^^^^^^^^^^^^^^^^^^^^^



こういう風に
printf()では、%の前に%を付けることで
%を表示できます。

これによって、

 %は表示にしたいんだよ!!

ってことをプログラムが理解してくれます。

ちょっと面倒な部分ではありますね。

それではまたあいましょう



スポンサードリンク



nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました




QLOOKアクセス解析

  
  
  
  

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

この広告は180日新規投稿のないブログに表示されます