【发布时间】:2014-10-22 21:26:57
【问题描述】:
当您在 C 中将字符转换为 int 时,究竟发生了什么?由于字符是一个字节,整数是四个,你怎么能得到一个字符的整数值呢?是否将其视为数字的位模式。以字符“A”为例。位模式是 01000001(即二进制 65)吗?
【问题讨论】:
-
'A'已经是 C 中的int。无论哪种方式,'A'都是65的语法糖(假设是 ASCII 实现)。这能回答你的问题吗? -
char在 C 中是一个 integer 类型。 -
位模式始终被“视为一个数字”——您可以对
char操作数应用您对int操作数应用的任何算术运算。碰巧的是,当您使用printf(或在某些情况下,通过调试器)将其发送到控制台时,您会将其视为“字符”。
标签: c char arithmetic-expressions