最短的自输出程序

July 31, 2019 默认分类

自输出程序,又称 quine,是输出自己代码的程序。而地表最短的自输出程序(并不严格,因为严格的自输出程序不能为空),在 1994 年的 IOCCC(国际混乱 C 语言大赛)中获得了对规则最糟糕的滥用奖,该程序如下:

你没看错,这个程序的长度为 0。这个程序既是又不是合法的 C 程序,部分编译器允许这个程序,但部分又拒绝。为了让这个程序能够编译,作者在Makefile里指定了一些编译器参数。但在现在的系统上,链接器会报告“对 main() 未定义的引用”。自从这个程序出现后,IOCCC 组委会将自输出程序的最长长度限制为 1 ,剥夺了这类程序的获奖资格( 1 字节的程序有什么花样能玩呢?)。
此外,这个程序对很多语言来说也仍然成立,不会报告任何错误。

已测试的名单:

  • awk
  • perl
  • python
  • ruby
  • gjs
  • bash

点评
源程序


相关文章

添加新评论

 我们使用cookie在本地保存您评论时填写的信息,参见隐私条款