K&R C セクション 1.6 によると、acharは整数型です。では、なぜ が必要なのでしょうか%c。そして、なぜ%dすべてに使用できないのでしょうか?
6 に答える
%dの数値文字コードを出力するためchar:
printf("%d", 'a');
97(ASCII システムで) を出力します。
printf("%c", 'a');
印刷しaます。
これは整数ですが、%cはその数値を表示用の文字値として解釈します。たとえば、キャラクターの場合a:
を使用すると、文字の内部表現である%d97 などの整数が得られます。a
対
%c文字 ' ' 自体を表示するために使用a(ASCII を使用している場合)
つまり、内部表現と外部目的の解釈printfの問題です ( with など)
を使用する%cと、文字または char を印刷 (またはスキャン) します。を使用する%dと、整数を出力 (またはスキャン) します。
printf("%d", 0x70);
同等のASCII値ではなく、文字を出力したいことをマシンはどのように知るのでしょうか?
大まかに言えば、%c文字の ASCII 表現を出力します。%dその 10 進値を出力します。
%dはdecimal(integer)数値を出力するために使用され、%cは出力するために使用されます。 formatcharacterで文字を出力しようとすると、コンピュータは文字のコードを出力します。%dASCII
%d は char が 32 ビットであると考えて整数のように出力しますが、%c は char の int 値を ascii 文字に変換してから出力します。