1

在 ansi C 中使用一些字符的三元组序列成为其他字符的最初原因是什么,例如:

??=define arraycheck(a, b) a??(b??) ??!??! b??(a??)

变成

#define arraycheck(a, b) a[b] || b[a]
4

2 回答 2

4

简短回答:不包含此类图表的键盘/字符编码。

来自维基百科:

C 编程语言的基本字符集是 ASCII 字符集的超集,其中包括 ISO 646 不变字符集之外的九个字符。当使用的键盘不支持这九个字符中的任何一个时,这可能会给编写源代码带来问题。ANSI C 委员会发明了三元组作为使用支持任何版本的 ISO 646 字符集的键盘输入源代码的一种方式。

http://en.wikipedia.org/wiki/Digraphs_and_trigraphs

于 2011-09-11T04:57:35.350 回答
1

一些旧键盘上没有特定字符,因此该语言通过让您使用三元组来解决它。

于 2011-09-11T04:57:14.157 回答