这是输出自身的最小代码。但无法理解这是如何工作的。有人可以解释一下吗?
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}
最佳答案
我打赌它无法在 64 位平台上运行,除非它的模型是 ILP64(64 位 int
s),因为它依赖于 int
很大足以包含 char*
。
它声明一个变量a
,其中包含减去字符串本身的代码副本,并使用 printf() 的格式化代码来输出代码和字符串。您需要更多详细信息吗?
关于c - 这个自输出的C程序是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22806553/