This question already has answers here:
What is the significance of the <: syntax in C? [duplicate]

(4个答案)



What is this smiley-with-beard expression: “<:]{%>”?

(4个答案)


7年前关闭。




最近,我遇到了一种奇怪的C编程语言语法。

首先,让我们看一下代码:
main(void) {
int a[10:> ;
printf("asdf");
return 0;
}

您可以使用gcc进行编译:
/tmp  gcc sample.c
sample.c: In function ‘main’:
sample.c:3: warning: incompatible implicit declaration of built-in function ‘printf’

如您所见,没有错误或与之相关的任何警告。因此,这意味着:>等于CPL中的]吗?

怎么会这样

顺便说一句:我正在使用gcc 4.2.1。

最佳答案

是的,这可行。

之所以称为digraph,是因为在过去(1990年代中期)仍然有人使用串行终端(有点像PC,但没有本地处理),而有些人却使用7-bit character set。它是从ASCII派生的,但是ASCII具有[]的情况下,派生的字符集将具有其他字形(例如Å和Ä)。

07-28 10:50