Недавно я столкнулся с странной грамматикой языка программирования 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.