IOCCC大赛结果公布,阿卡林上榜

断了好久的IOCCC大赛貌似今年终于又开始大放异彩了C系程序员们真是一年比一年奇葩了啊(= =|||)

IOCCC大赛(世界C语言混乱化大赛)的宗旨是让程序员写出最“难懂”,“诡异”或是让人捉摸不透的艺术性代码。单程序被限定在4KB以内,要以视觉上或理解上最坑的方式作出有功能的代码。

之前坑了几年,今年打开了获奖名单,发现第一位是一个叫做Akari的投稿,作者是Don Hsi-Yun Yang,然后看着这名字和作品名字,貌似有印象之前见过这位的另一个获奖神作,把校验码放到文件本身的。

好奇之下代开了源码和说明,然后,请见上图。当然,IOCCC的要求是,除了“艺术性(所谓‘混乱’的代码排版)”以外,程序还要有足够靠谱的功能性。这个程序获得了最佳展示奖——最能“收缩”

程序的本体是一个图片压缩器,可以将 Pixmap和ASCII字符画的图片进行向下压缩大小(缩放),当然了,这仅仅是第一层。你会发现,程序本身就是一幅ASCII字符画,而把程序的源码通过编译版的程序之后,则会获得另一个缩小了的源码。令人吃惊的是,这个缩小了的源码,依然是有效可编译的。编译后又是一个文字过滤器,可以对文字进行rot13“加密”。当然作者说,这并不是终极,再把缩小后的ASCII程序再缩小一次,将获得第三个程序源码,继续缩小则会获得第四个程序源码。后两个程序源码编译运行后,会分别在屏幕上输出文字。

当然,这个颇有存在感的二次元向作品以外,还有很多神奇的优秀作品。比如:世界上最“无需说明文档”的科学计算器

会让你吃惊它居然是拿C语言完成的,而且完全不会出现编译警告。

投稿作品从游戏到算法,从“绘图”到“计算”,涵盖了各种领域。而代码的样式更是多种多样(单行程序、反语法程序等)。如果你觉得你的C语言程度足够好,快去看看这些奇葩的程序吧。

7 Comments

    1. 有一年的大赛里面有一个人把所有的 while/for/if/else/&&/|| 等等全都重新定义了,然后产生了一个看起来什么都不做的但是语法上合格的程序,实际上跑起来完全不是那回事。。。所谓“看完觉得白学C了”

      回复

发表回复

您的电子邮箱地址不会被公开。