这是输出自己的最小代码但不明白这是怎么回事有人能解释一下吗?

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/

10-13 04:47