首先在cmd下建立一个文件trigraph.c
copy con trigraph.c
??=include <stdio.h>
int main(int argc, char* argv??(??))
??<
printf("??/tHello Trigraph!??/n");
return 0;
??>
Ctrl+Z
然后编译:
对Mingw
gcc trigraph.c -trigraphs
或者MS C
cl trigraph.c
怎么样?很奇怪吧?文件居然通过了编译并且生成了正确的可执行文件。
原来这是C的一种名叫三字母(trigraph)的语法, MS C支持如下的语法(别的编译器没有深究):
Trigraph "转义"字符
??= #
??( [
??) ]
??/ /
??' ^
??< {
??> }
??! |
??- ~