getchar関数()のscanfと等価(「%cの」)とのputchar()はprintfの(「%cの」)に相当しますか?
質問
a = getchar()
にscanf("%c",&a);
と同等ですか?
putchar(a)
がprintf("%c",a);
変数であるa
にchar
と同等ですか?
解決
一般的に言ってそう、彼らは同じです。
しかし、彼らはいくつかのnitpickyの方法ではありません。関数getchar
はint
なくchar
を返すようにタイプされます。これが行われることgetchar
ようにすることができるすべての可能なchar
値、さらにエラーコードの両方。
だから、喜んで次は、ほとんどのコンパイラでコンパイルしているときは、基本的に、エラーメッセージ
を離れて切り詰めていますchar c = getchar();
は、関数scanf
は、しかし、あなたが直接char
タイプを使用することができ、戻り値にエラーコードを分離します。
他のヒント
彼らはここに同じことを行います。 getchar
とputchar
変異体は、文字列にあなたの要求を処理する方法を決定するために、各時間を解析する必要がありますので、あなたが知っている場合は、あなただけやっている文字が、その後printf
とscanf
は、より効率的になります。プラス、彼らはあなたがそれらが他の場所で必要とされていない場合はリンクprintf
/ scanf
を持っている必要はないかもしれないという意味下位レベルのライブラリに呼び出すことができます。
所属していません StackOverflow