7

K&R C セクション 1.6 によると、acharは整数型です。では、なぜ が必要なのでしょうか%c。そして、なぜ%dすべてに使用できないのでしょうか?

4

6 に答える 6

29

%dの数値文字コードを出力するためchar

printf("%d", 'a');

97(ASCII システムで) を出力します。

printf("%c", 'a');

印刷しaます。

于 2012-06-08T11:30:14.950 に答える
4

これは整数ですが、%cはその数値を表示用の文字値として解釈します。たとえば、キャラクターの場合a

を使用すると、文字の内部表現である%d97 などの整数が得られます。a

%c文字 ' ' 自体を表示するために使用a(ASCII を使用している場合)

つまり、内部表現と外部目的の解釈printfの問題です ( with など)

于 2012-06-08T11:30:39.503 に答える
1

を使用する%cと、文字または char を印刷 (またはスキャン) します。を使用する%dと、整数を出力 (またはスキャン) します。

printf("%d", 0x70);

同等のASCII値ではなく、文字を出力したいことをマシンはどのように知るのでしょうか?

于 2012-06-08T11:31:23.657 に答える
1

大まかに言えば、%c文字の ASCII 表現を出力します。%dその 10 進値を出力します。

于 2012-06-08T11:30:30.143 に答える
-1

%ddecimal(integer)数値を出力するために使用され、%cは出力するために使用されます。 formatcharacterで文字を出力しようとすると、コンピュータは文字のコードを出力します。%dASCII

于 2014-10-26T15:30:57.253 に答える
-1

%d は char が 32 ビットであると考えて整数のように出力しますが、%c は char の int 値を ascii 文字に変換してから出力します。

于 2012-06-08T11:31:39.130 に答える