国际C语言混乱代码大赛

更新时间:2024-02-16 16:26

国际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的比赛规则会张贴在其网站上。规则每年不同,并且会随附上一组的指导方针以试图表达规则的精神。

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

代码样例

第21届国际C语言混乱代码大赛(IOCCC)正式发布了获奖源代码。IOCCC要求参赛者写出最有创意且最让人难以理解的C语言代码,大小限制在4 kb以内,因此每位参赛者的作品都让人印象深刻。获胜者包括1名法国人,1名韩国人,5名美国人,1名比利时人,1名以色列人,1名英国人,4名日本人和1名中国人。

选取了几个代表性作品大家共赏一下

更可怕的是,它们都可以编译通过!!!!

例1

例2:计算圆周率

例3:赤座灯里头像

(运行生成更小的头像代码)

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}