2

可能重复:
为什么 C 和 C++ 中有二合字母?
C ??!??! 是什么意思?运营商呢?!

在 C++ 中,有 [] 和 {} 等替代标记。

例如下面的代码编译:

%:include <stdio.h>
int main() <%
    printf("Hello World!");
}

我想了一会儿,但想不出任何适用性,这有什么合乎逻辑的理由吗?

4

1 回答 1

7

他们是C的宿醉,真的。在 C 的某些实现中,并非所有字符都可用(例如一些没有方括号的 EBCDIC 变体)。

C99 基本原理文档部分5.2.1.1 Trigraph sequences有这样的说法:

在 C89 中引入了三字母序列作为某些字符的替代拼写,以允许在不提供足够数量的非字母图形的字符集中实现 C。

C 使用的 ASCII 曲目中的字符和 ISO/IEC 646 不变曲目中不存在的字符是#, [, ], {, }, \, |, ~, 和^

于 2012-10-02T04:22:57.757 回答