c - `:>`(冒号,大于,又名笑脸)在 C 编程语言中是什么意思?

标签 c compiler-construction

<分区>

最近我遇到了一个奇怪的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 具有 [] 的地方,派生字符集将改为具有其他字形(例如,Å 和 Ä)。

关于c - `:>`(冒号,大于,又名笑脸)在 C 编程语言中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16759543/

相关文章:

c 程序 unsigned int 或 uint8_t

连续空间中的复杂结构偏移

c++ - 是否有用于将特定 IR 编译为体系结构特定代码的 LLVM 替代库?

c++ - 模板的循环包含

c - getchar() 等同于 scanf ("%c") 和 putchar() 等同于 printf ("%c") 吗?

c - 如何让变量名和行号出现在 GDB 中?

c# - 返回值的编译方法调用如何?

Scala 闭包文件名

c - 如何确定此可执行文件在启动时崩溃的原因? (*nix 上的 C)

c - 马里奥问题集 - 为什么哈希值不打印?