一尘不染

程序可以输出自身的副本吗

algorithm

我认为这可能是一个经典问题,但我不知道答案。程序可以输出自身的副本吗?如果是,是否有一个简短的程序可以这样做?

我不接受“空程序”作为答案,也不接受可以访问自己的源代码的程序。相反,我在想这样的事情:

int main(int argc, char** argv){ printf("int main(argc, char** argv){ printf...

但我不知道如何继续…


阅读 231

收藏
2020-07-28

共1个答案

一尘不染

是。可以复制自身的程序称为“ quine”。

大多数藜的基本思想是:

  1. 你写的代码,需要一个字符串字面量s并打印出来,而更换出现(或 发生)的特殊子的 FOOs通过价值s本身。

  2. 到目前为止,您已获取了该程序的全部源代码,并将其用作的定义s。但是您 从字符串中* 排除了的定义 ,而是将其替换为 foos *__

那是一般的想法。其余的实际上是字符串格式的详细信息。

2020-07-28