77

今日、C99 と C++ に有向グラフがあることを知りました。以下は有効なプログラムです。

%:include <stdio.h>

%:ifndef BUFSIZE
 %:define BUFSIZE  512
%:endif

void copy(char d<::>, const char s<::>, int len)
<%
    while (len-- >= 0)
    <%
        d<:len:> = s<:len:>;
    %>
%>

私の質問は、なぜそれらが存在するのですか?

4

4 に答える 4

69

ダイグラフは、ISO 646 文字セットをサポートするキーボードを持っていないプログラマーのために作成されました。

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

于 2009-01-11T06:14:00.143 に答える
25

それらの存在は、どこかで、言語全体を表現するために C や C++ が必要とするすべての文字を必ずしも持っていないほど古風な文字セットのオペレーティング システムでコンパイラを使用している可能性にまでさかのぼることができると信じています。 .

また、 IOCCCへのエントリーにも適しています。

于 2009-01-11T06:10:18.920 に答える
15

これは、この地球上の一部のキーボードに「#」や「{」などのキーがない可能性があるためだと思います。

于 2009-01-11T06:11:31.383 に答える