我的程序员的直觉会说 c 中的字符常量(例如:'x')是使用编译它的机器上的机器字符集编码的。但是,以下摘录来自“The C Programming Language: ANSI C Edition”
“字符常量是用单引号括起来的一个或多个字符的序列,如'x'。只有一个字符的字符常量的值是执行时机器字符集中字符的数值。”
强调最后三个字。
谁能解释为什么他们会说“在执行时”。字符值肯定是在编译后的二进制文件(或 ELF、A.OUT...)中编码的吗?
我想知道,但无法对此提出任何合乎逻辑的解释,K&R 肯定知道他们在做什么!