词条 | IOCCC |
释义 | 国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,目的是写出最有创意的、最让人难以理解的C语言代码。从1984年开始,每年举办一次(1997年、1999年、2002年、2003年和2006年例外)。 简介国际C语言混乱代码大赛由Landon Curt和Larry Bassel在USENET上举办,冬天接收参赛作品,作品从线上提交,春天评判,在夏天的Usenix会议上公布获胜者。作品审核是基于滥用混乱代码的程度(以及创造性的滥用),作品通过最后一轮审核的会被归成其特别的一类以示嘉奖,并且发表在官方IOCCC网站。 大赛通常具有10种类型的获胜者:“对规则的最奇怪的滥用”,“最具创意的源代码布局”,“最优秀的单行代码”等等。综合性的“最佳上镜奖”授予最难阅读、行为最古怪(但能运行)的c程序的作者。 比赛宗旨1、在遵守下面规则的前提下,写出最混乱,最让人看不明白的C程序。 2、用讽刺的手法显示编程风格的重要性。 3、用反常的代码加重编译器的负担。 4、演示C语言的不让人注意的地方。 5、为糟糕的C代码提供避难所。 英文: Goals of the Contest: To write the most Obscure/Obfuscated C program under the rules below. To show the importance of programming style, in an ironic way. To stress C compilers with unusual code. To illustrate some of the subtleties of the C language. To provide a safe forum for poor C code. 代码举例1987年,贝尔实验室的David Korn 提交了下面这个获奖作品: main() { printf( &unix["\\021%siz\\012\\0"], (unix)["have"] + "fun" - 0x60); } 能看出它要打印什么吗?^_^它要打印的东西与have fun 没有任何关系!来自伦敦大学的Diomidis Spinellis只用了大约1500个字符就完成了一个BASIC解释器,该程序附有一个指导手册,解释了如何使用解释器,并提供了一个程序实例! ===============分割线======================= ian phillipps于1988年的作品,搞C的能读懂这段代码就是天才 #include <stdio.h> main(t,_,a)char *a; {return!0<t?t<3?main(-79,-13,a+main(-87,1-_, main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13? main(2,_+1,"%s %d %d\"):9:16:t<0?t<-72?main(_,t, "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\\ ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \\ q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \\ ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \\ iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \\ ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \\ }'+}##(!!/") :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1) :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\uwloca-O;m .vpbks,fxntdCeghiry"),a+1);} |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。