所以我遇到了这段代码:
%:include <stdio.h>
int main(int argc, char *argv<::>) <%
printf("C program succesfully running...");
getchar();
return 0;
%>
这是一些编译器错误还是这是我还没有发现的新东西,因为它运行时没有任何问题。
所以我遇到了这段代码:
%:include <stdio.h>
int main(int argc, char *argv<::>) <%
printf("C program succesfully running...");
getchar();
return 0;
%>
这是一些编译器错误还是这是我还没有发现的新东西,因为它运行时没有任何问题。
此代码使用 C 有向图,如下所述:http ://en.wikipedia.org/wiki/Digraphs_and_trigraphs#C
C 标准(ISO/IEC 9899:201x,Punctuators §6.4.6:3)对此事有这样的说法:
在语言的各个方面,六个记号
<: :> <% %> %: %:%:
行为,分别与六个令牌相同
[ ] { } # ##
除了他们的拼写。
这些是标点符号,与等%:
相同, #
与等%>
相同}
... C99草案标准部分6.4.6
标点符号说:
在语言的所有方面,六个标记67)
<: :> <% %> %: %:%:
行为,分别与六个令牌相同
[ ] { } # ##
正如我们在注释中看到的那样,它们有时也被称为有向图67
:
这些标记有时被称为“有向图”。
Digraph,在 C99 中引入。
C99 6.4.6 标点符号
在语言的各个方面,六个记号
<: :> <% %> %: %:%:
行为,分别与六个令牌相同
[ ] {} # ##
除了他们的拼写。