把C语言开发工程师坑惨的三个母词

樵夫2021-11-24 14:01

  诸位,今天给大家带来一个你可能没听过的知识点,由于目前C语言教材或书中大多不多提及,所以可能了解的人不多。

  这是我们题目里的“三字母词”。在ANSI标准中,定义了“三字母词”,或者成为“三联符序列”,英文为"trigraph sequences"。目的主要是为了在一些特定的字符集中,比如一些七位代码集中,解决一些特定字符的输入问题。

把C语言开发工程师坑惨的三个母词

  也许是由于这些字符集我们基本上用不到,所以在大多数C语言的书籍中,我们都看不到对“三字母词”的讲解。这里资料来源于参考ANSI C99标准(即传说中的《American National Standards Institute for Programming Languages-C》 1999年,我们习惯简称为“C99”)。

  “三字母词”主要有9个,分别为:

三字母词 对应的字符
??= #
??( [
??) ]
??< {
??> }
??/ /
??! |
??' ^
??- ~

  源代码中的“三字母词”,在编译阶段会被替换为“对应的字符”。对于以“?”开头的字符序列,如果不能与上面9个匹配,编译器将保持原状;一旦匹配,编译器就会做替换。

  以上就是小编为大家整理发布的“把C语言开发工程师坑惨的三字母词”一文,更多相关内容尽在开课吧广场C++教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
算法刷题核心能力提升营