国际C语言混乱代码大赛

✍ dations ◷ 2025-09-11 18:56:09 #C语言,幽默与讽刺奖项,程序设计竞赛

国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际程序设计赛事。从1984年开始,本赛事每年举办一次(1997年、1999年、2002年、2003年和2006年例外)。本赛事的目的是写出最有创意和最让人难以理解的C语言代码。

从在线提交开始,作品需要经过好几回合的裁判审核。评判作品的标准基于滥用混乱代码的程度(以及滥用程度的创造性)。通过最后一轮审核的作品会被归成特别的一类以示嘉奖,例如“最滥用C预处理器”或者“最古怪的行为”,并且发表在官方IOCCC网站。获胜作品将被公示于IOCCC网站,并以此作为奖赏。

IOCCC是由蓝登·克特·诺尔(Landon Curt Noll)与拉里·贝索(Larry Bassel)在1984年受雇于国家半导体(National Semiconductor)的Genix程序移植事业群时开始的。比赛的点子是来自他们俩比较彼此有关于它们得修正的某些写得很烂的代码笔记。

每年比赛开始前,IOCCC的比赛规则会张贴在其网站上。规则每年不同,并且会随附上一组指导方针以试图表达规则的精神。

这些规则通常是蓄意书写成文,伴随着精巧的漏洞让参赛者有所鼓励去发现并滥用。比赛结果就是“软件开发过程的讽刺体”。作品占某些规则里头的漏洞之便者(不管它是否通过最后一轮审核)会造成下年度比赛规则的调整(虽然常常其他微妙的漏洞又会被裁判故意放水)。

出于该赛事的本质,作品通常运用奇怪或者不寻常的语法窍门,如利用C预处理器去做不合设计本意的事、或者避免C编程语言正常使用的建构式,以用更暧昧难解的方式来达到同样效果。举例来说,下面是2004年得奖作品里的引言:

许多卓著的贡献包括:

本竞赛有着自然而然在C语言标准规范边际游走的编程本质,或者触发极少用到的编译器编译后代码路径。这导致许多过去的作品可能无法直接通过当代编译器,并且某些可能甚至造成该程序崩溃。

在代码限定于区区几千字节条件下,参赛者得想尽办法做复杂的事——例如某2004年大赛得奖者代码实际上是个操作系统。

下面是1988年参赛作品:透过自己占的面积来计算圆周率,该作品是以K&R C写成;代码得做些小修改才能在ANSI C下运行。

 #define _ -F<00||--F-OO--; int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO() {             _-_-_-_        _-_-_-_-_-_-_-_-_     _-_-_-_-_-_-_-_-_-_-_-_   _-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_   _-_-_-_-_-_-_-_-_-_-_-_-_-_     _-_-_-_-_-_-_-_-_-_-_-_         _-_-_-_-_-_-_-_             _-_-_-_ }

飞行模拟器

另一个示例是下面这个灵巧的飞行模拟器,为1998年IOCCC得奖作品:

相关

  • 图兰主义图兰主义,是十九世纪在欧洲萌生的政治理念,指在成立由芬兰及匈牙利,一直延伸至日本东北亚地区的民族政治联盟。这个政治理念后来在整个东欧,远至当时作为列强之一的日本帝国和世
  • 友好运动会友好运动会(英语:Goodwill Games)是一项由泰德·透纳创办的国际性运动赛事。由于1979年苏联入侵阿富汗,美国等西方国家拒绝参加1980年莫斯科奥运会,而作为反击,苏联也没有参加1984
  • 马来亚铁道马来亚铁道公司(Keretapi Tanah Melayu Berhad;简称KTMB)是马来西亚马来半岛主要的铁路经营者。其铁路网络的建设可以追溯到英国殖民时代,在当时主要作运输锡米之用。“马来亚铁
  • 襟裳岬襟裳岬(日语:襟裳岬/えりもみさき )是位于日本北海道幌泉郡襟裳町,面向太平洋的海岬。经纬度是北纬41度55分28秒,东经143度14分57秒。名称来自于阿伊努语的“enrum”(海岬)或“erum
  • 何声灏何声灏(1864年-?),字伯梁,号蔗庵,安徽省安庆府望江县人,清朝政治人物、进士出身。何芷舠之子。光绪十一年,江南乡试中举;光绪十六年,登进士,同年五月,改翰林院庶吉士,后任户部山东司主事,记
  • 海因茨·霍夫曼海因茨·霍夫曼(德语:Heinz Hoffmann,1910年11月28日-1985年12月2日),德国统一社会党政治局候补委员,东德国防部长,大将。1910年,出生于曼海姆一个工人阶级家庭。1925年,在修理汽车场
  • 斯洛文尼亚人斯洛文尼亚人是南斯拉夫人的一支。说斯洛文尼亚语。总数250万人。主要分布在巴尔干半岛国家斯洛文尼亚。另外在意大利东北部、奥地利南部、克罗地亚和匈牙利也有一些斯洛文
  • 谷永谷永(前1世纪-前8年),西汉大臣,字子云,原名并,长安人。少年时博通经书。汉元帝时为太常丞,汉成帝时历任光禄大夫、安定郡太守,凉州刺史,太中大夫、光禄大夫给事中,北地郡太守,大司农。多
  • 严华 (1912年)严华(1912年-1992年1月11日),本名严文新、严运华,中国电影配乐作曲家。活跃于20世纪30年代-40年代的上海。主要作品有《孟姜女》、《李三娘》、《三笑》、《董小宛》、《西厢记》
  • 安东尼奥·加尔巴索安东尼奥·加尔巴索(意大利语:Antonio Garbasso,1871年4月16日-1933年3月14日),意大利物理学家和国家法西斯党政治家。 他是意大利王国佛罗伦萨第15位市长。