打印自己的程序

记得曾经有位图灵奖得主回忆自己写过最得意的程序时,他列出了一个C语言的自我打印程序。依稀记得有百行之多,好像还用了很多数组。现在想想构建这样一个程序的诀窍可以抽象的描述成:

A"AB"B

其中"AB"是程序中出现的字符串,AB分别是前后的程序代码。

B中的程序功能需包括,打印"AB"的A部分,打印",打印"AB",打印",最后打印"AB"的B部分。

这个问题的难点在于会使人产生无限递归定义的困境。

但如果看破其中的秘密,也就没什么了。

posted @ 2010-01-25 12:18  dragonpig  阅读(416)  评论(0编辑  收藏  举报