[c 语言谜题] 程序填空,老程序员来做做

2018 年 9 月 26 日
 shilyx
#include <stdio.h>

int main() {
[]
printf("%p\n", **************************************************************p);
return 0;
}

在 [] 标记内加入一条语句,使得:
1、程序编译通过,无错误(警告随意);链接通过,无错误(警告随意)
2、程序能够运行,无崩溃和运行时错误
3、源代码为.c 文件
4、如果用 vs,则使用 Release 配置;用 gcc 也行
5、加入的语句不能忽略分号
6、printf 一句必须能够正常输出内容

问:
1、要加入的语句的长度最小是几(含分号、空白、字符、符号等)?
2、这个最小长度的语句的 sha256 哈希值是多少?

ps:为了确保为数不多的趣味性,请勿直接贴出语句。
7197 次点击
所在节点    程序员
69 条回复
shilyx
2018 年 9 月 26 日
在 [] 标记内加入一条语句 -> 将[]替换成一条语句

本来我发的全角符号,结果发出去成半角了。
BlackKey
2018 年 9 月 26 日
目前想出来的最小长度是 11
besto
2018 年 9 月 26 日
@BlackKey 我想出最短正常语句的也有 15 了...
besto
2018 年 9 月 26 日
修改一下, 最短可以到 10, 910e692fdda462dde57e91a4778de7cdbf4f2090ffdebe770b90be808ed5d024
bfdh
2018 年 9 月 26 日
@BlackKey 同 11
garzon
2018 年 9 月 26 日
10,2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793
besto
2018 年 9 月 26 日
@garzon 我发现我和你用的是同一句只是我把这句话放到一个文件里算 sha256 会多加一个回车...
garzon
2018 年 9 月 26 日
@besto 233,还是 python hashlib 大法好
bfdh
2018 年 9 月 26 日
@garzon
@besto
你们竟然把空格都省略了。。。
Ediacaran
2018 年 9 月 26 日
3, ca877a9acb1c71ee2b0c6443ee1177c1db48c7bcc8af9a8cb2dc0938148dccf2

gcc 和 clang 都是可以的,VC 没测试
Ediacaran
2018 年 9 月 26 日
没有输出算吗
innoink
2018 年 9 月 26 日
哈哈,3
我想知道注释算不算要求的语句
endyul
2018 年 9 月 26 日
6、printf 一句必须能够正常输出内容
w01230
2018 年 9 月 26 日
先看一下,目前想出来的长度远大于 11.
chenstack
2018 年 9 月 26 日
答案同#6,一开始总想着用指向自己的指针实现,结果并不行,后面才意识到能用函数,再后面才发现只用声明就能用。
povvoq
2018 年 9 月 26 日
}int f(){//\
我只能想到这种
chenstack
2018 年 9 月 26 日
修改过程同#3,去掉初值只保留声明,从 15 缩减到 10
povvoq
2018 年 9 月 26 日
@pkokp8 不对,printf 没输出了,想不到,告辞
w01230
2018 年 9 月 26 日
@chenstack 看了提示, 新长度 11.
innoink
2018 年 9 月 26 日
@pkokp8 这个只要 //\就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX