c - 这个自输出的C程序是如何工作的?

标签 c quine

这是输出自身的最小代码。但无法理解这是如何工作的。有人可以解释一下吗?

main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}

最佳答案

我打赌它无法在 64 位平台上运行,除非它的模型是 ILP64(64 位 ints),因为它依赖于 int 很大足以包含 char*

它声明一个变量a,其中包含减去字符串本身的代码副本,并使用 printf() 的格式化代码来输出代码和字符串。您需要更多详细信息吗?

关于c - 这个自输出的C程序是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22806553/

相关文章:

python - 使用字符串模板在python中制作quine?

c - Quine 创建并执行文件

c - 如何将程序中使用的所有共享库更改为 Windows 中的静态库?

java - 蒯因使用反射

c - 使用预接收 Git 钩子(Hook)强制编码风格

c - 为什么下面的代码是死循环? (for循环)

ruby - 最矮的 ruby 蒯因

language-agnostic - 复杂的多队列是如何编写的?

c - 匹配什么样的括号括住字符串并将其删除

c - 附加到动态分配的数组