根据 K&R C 第 1.6 节,achar
是一种整数。那么我们为什么需要%c
. 为什么我们不能%d
用于一切?
问问题
97741 次
6 回答
29
因为%d
将打印 的数字字符代码char
:
printf("%d", 'a');
打印97
(在 ASCII 系统上),而
printf("%c", 'a');
打印a
。
于 2012-06-08T11:30:14.950 回答
4
虽然它是一个整数,但它%c
会将其数值解释为显示的字符值。例如字符a
:
如果你使用%d
你会得到一个整数,例如 97,字符的内部表示a
对比
用于%c
显示字符 ' a
' 本身(如果使用 ASCII)
即,这是内部表示与外部目的解释的问题(例如 with printf
)
于 2012-06-08T11:30:39.503 回答
1
粗略地说,%c
打印字符的 ASCII 表示。%d
打印其十进制值。
于 2012-06-08T11:30:30.143 回答
1
如果您使用%c
,您将打印(或扫描)一个字符或字符。如果您使用%d
,您将打印(或扫描)一个整数。
printf("%d", 0x70);
机器如何知道您要输出一个字符,而不是其等效的 ASCII 值?
于 2012-06-08T11:31:23.657 回答
-1
%d 认为 char 是 32 位并像整数一样打印它,但是 %c 将 char 的 int 值转换为 ascii 字符然后打印它。
于 2012-06-08T11:31:39.130 回答
-1
%d
用于打印decimal(integer)
数字,而%c
用于打印character
。如果您尝试打印具有%d
格式的字符,计算机将打印ASCII
字符的代码。
于 2014-10-26T15:30:57.253 回答