main() { printf(&unix["/021%six/012/0"],(unix)["have"]+"fun"-0x60);}
以上的一条代码是1987年,由贝尔实验室的David Korn提交的获奖作品,请问,它打印的什么东西?
解析过程:
- main() { printf( "/021%six/012/0" + unix, *("have" + unix) - 0x60 + "fun");}
- main() { printf( "/021%six/012/0" + 1, *("have" + 1) - 0x60 + "fun");}
- main() { printf( "%six/012/0", 'a' - 0x60 + "fun");}
- main() { printf( "%six/n", "un");}
- main() { printf( "unix/n");}
本文解析了一段1987年的获奖代码,通过逐步替换和运算揭示了最终打印的内容为unix/n,展示了C语言中字符串操作及地址计算的独特技巧。

被折叠的 条评论
为什么被折叠?



