这是输出自己的最小代码但不明白这是怎么回事有人能解释一下吗?
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/