プロが教えるわが家の防犯対策術!

printfとは文字列関数(2文字以上を掲示したい場合使用・1文字でも可能かコンパイラソフトが現在機能していないので未確認)
putcharとは文字関数(1文字のみ掲示したい場合に使用)
 以上間違いございませんか!?
 以下余談
ネットで検索かけても、機械的な回答ばかりで、生身の人間には伝わってこない説明文ばかり、
参考書は形式こだわりすぎじゃん・もっとわかりやすい表現とか解説ができないのかな
 

A 回答 (3件)

printf() は、「書式付き出力」という表現がされていませんか?


本来、様々な型のデータを、形を整えて出力するためのものです。
固定した文字列「も」出力できるので、文字列を出力するの「にも」使われるだけです。
「一文字だけ」出力することもできます。

putchar() は、まあ、「一文字出力するもの」で大きな間違いはありません。
ただ、普通は、「なぜわざわざ一文字だけ出力するような関数があるのか?」という気はするかもしれません。
これは、多くの場合、システムよりの(OS作ったり)事に使われるので、まあ、そういう用途には役に立つ関数です。

あと、printf() に関連していえば、たとえば、
int i = 100;
というように初期化されていたとして、これを出力した場合、何が出てくるかというのは、結構面倒な問題があります。

i が 100 という整数値を持つのは確かなのですが、これは、「文字コード」としてみれば、多くの場合、'd' に相当します。(そうでない場合もあります)
整数と見なして表示すれば、多くの場合、'100' という表示を期待するでしょう。
でも、もしかしたら、'0x64' という(16進表記の)表示かもしれません。

というわけで、「表示」する場合、そのデータは、「何を表しているか」というのが問題になります。
printf() では、書式指定子で、「このデータを『何とみなして』表示するか」を指定します。
putchar() は、「文字コード」と決めつけて表示します。
    • good
    • 2
この回答へのお礼

わかりやすいご回答と誠にありがとうございました。
 以下なるほどですね、勉強になります。
 以下ご回答から
1)あと、printf() に関連していえば、たとえば、
int i = 100;・・
2)もしかしたら、'0x64' という(16進表記の)表示かもしれません。・・

お礼日時:2015/02/16 21:39

>以上間違いございませんか!?



間違ってます。
printfとは、データをいろいろな形式に変換して表示する関数。1文字とか、文字列とか、10進数とか16進数とか、いろいろ。
putcharとは、1文字を出力する関数。

>ネットで検索かけても、機械的な回答ばかりで、生身の人間には伝わってこない説明文ばかり、

入門者はネットで無くまずは入門書を読むべきだと思います。

>参考書は形式こだわりすぎじゃん・もっとわかりやすい表現とか解説ができないのかな

その参考書の対象層が自分と合っているかを十分立ち読みなどして確認する必要があります。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。
 入門書の件ですが 数冊あります。
問題は 
わたくしのやる気、理解力の問題だと思います。
 以下了解いたしました。
printfとは、
 10進数とか16進数とか、いろいろ。

お礼日時:2015/02/16 22:14

printf


一般的な CUI アプリケーションにおける、メッセージ出力用
1文字 / 複数文字 / 1行 / 複数行 を扱える汎用性が便利

puts
printf と同様だが、固定文字列1行出力だけに特化

putchar
以下の様な特殊用途に使用する、疑似グラフィック出力用
http://ja.wikipedia.org/wiki/Banner_(UNIX)
http://ja.wikipedia.org/wiki/Sl_(UNIX)
または
以下の様な文字コード変換に使用する、8bit単位のコード出力用
http://ja.wikipedia.org/wiki/Iconv

つまり
メッセージを表示する printf/puts
文字を出力する仕組みを流用した、なにか別なものを出力する putchar
    • good
    • 1
この回答へのお礼

ご回答とありがとうございました。
 せっかくのご回答でしたが、わたくしのレベルだときむずいです。
 今後ともよろしくお願いいたします。

お礼日時:2015/02/16 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング