字符常量的 C 编码

2024-01-08

我的程序员的直觉会说,c 中的字符常量(例如:“x”)是使用编译它的机器的机器字符集进行编码的。然而,以下摘录自《C 编程语言:ANSI C 版》

“字符常量是用单引号括起来的一个或多个字符的序列,如'x'。只有一个字符的字符常量的值是执行时机器字符集中的字符的数值。”

强调最后3个词。

谁能解释为什么他们会说“在执行时”。字符值肯定是在编译的二进制文件(或 ELF、A.OUT...)中编码的吗?

我很想知道,但无法对此提出任何合乎逻辑的解释,K & R 肯定知道他们在做什么!


您必须告诉编译器您将在哪个系统上运行该程序。然后它将为字符选择正确的编码。

当然,默认是在与运行编译器的系统类似的系统上运行。在这种情况下,编译时和运行时字符集将相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符常量的 C 编码 的相关文章

随机推荐