Stack Overflow 404页面上的代码如何工作? (包括图片)

时间:2012-02-21 03:44:13

标签: http-status-code-404

之前每个人都看过这个,但这段代码是什么?我甚至不知道用什么语言标记这个。有人可以破译它吗?

enter image description here

  

注意 - 我会在meta上发布这个,但它一个编程问题,只是假装我说“我发现这个神秘代码某处 ...”

2 个答案:

答案 0 :(得分:3)

除第4行以外的所有行都使用#进行了评论。第四行只打印404

在这里,我认为这是一个疯狂的#define宏。

原始帖子在这里:https://meta.stackexchange.com/questions/27112/amusing-404-page-not-found-images-for-trilogy-sites

此处也可以看到:https://meta.stackexchange.com/questions/28625/whats-the-joke-in-the-stack-overflow-404-page-code

答案 1 :(得分:1)

没关系,我明白了:

1:v的编译器宏 - >的putchar

2:编译器宏将print(x)替换为:

-

main(){
    putchar( 4 + putchar(putchar(52) - 4);
    return 0;
}
/* comment garbage from line 3 */

4:调用print(202*2),但202*2被宏丢弃;只需在此处插入主

5:重新定义exit()为零。

预处理的最终程序只是第2行定义的所有内容。

putchar返回它打印的值,因此它首先打印ascii 52,即“4”,然后打印一个“0”,返回0的字符,然后将其添加到4,最后从最外面的printchar打印。

显然最终输出是404,但我很失望有多少代码只是评论垃圾,而不是实际有趣的语言怪癖。我认为唯一真正有趣的事情是putchar返回它打印的字符的值,但即便如此......

修改

我真的很生气,因为我没想到它就好像它是python,perl,ruby或者php:\