【发布时间】:2013-07-08 18:36:59
【问题描述】:
这是我从一本关于 C 编程的电子书中摘录的。
我了解字符“0”和“9”的 ASCII 表示是整数,因此我了解与整数数组的兼容性。我只是不确定显示的输出是如何计算的?输入的是代码本身。
这句话是什么意思?
++ndigit[c-'0'];
那么,程序本质上是否检查输入是否是 ASCII 代码表的前 10 部分之一? ASCII CODE
【问题讨论】:
-
c-'0'将'0'到'9'的ASCII 字符之一转换为等效的整数值。 -
电子书中还有一个声明,声称使用单引号 ' ' 会将引号内的任何内容转换为其等效的 int。也就是说,'A' = 65。这是真的吗?
-
'A' == 65在许多但不是所有系统上都是正确的(反例:使用 EBCDIC 的 IBM 大型机)。'A'始终是int(在 C 中;在 C++ 中为char),并且表示大写字母 A 的数字代码。