居然是日记

偶然翻出学生时期收藏的一些代码,其中一个看不懂是啥意思,想着编译可能都过不去。没想到的是简单修改几个中文字符后,居然编译过了,运行时发现是一篇日记。

在这里把这段代码记录一下,有机会了再慢慢研究,生成的日记字符比代码本身字符多好几倍

C源码:

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>

main(t,_,a)char *a;{
return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):1,t<_?
main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?
main(_,t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\;#q#n+,/+k#;*+,/'r :'d*'3,}{w+Kw'K:'+}e#';dq#'lq#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \iwk{KK{nl]!/w{%'l##w#':{nl]'/*{q#'ld;r'}{nlwb!/*de}'c;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \}'+}##(!!/"):t<-50?_==*a?putchar(31[a]):
main(-65,_,a+1):main((*a=='/')+t,_,a+1):0<t?main(2,2,"%s"):*a=='/'||
main(0,main(-61,*a,"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
}

运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
↪ =>$./a.out
On the first day of Christms my true love gve to me
a partridge in a pear tree.

On the second day of Christms my true love gve to me
two turtle doves
and a partridge in a pear tree.

On the third day of Christms my true love gve to me
three french hens, two turtle doves
and a partridge in a pear tree.

On the fourth day of Christms my true love gve to me
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the fifth day of Christms my true love gve to me
five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the sixth day of Christms my true love gve to me
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the seventh day of Christms my true love gve to me
seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the eigth day of Christms my true love gve to me
eight maids a-milking, seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the ninth day of Christms my true love gve to me
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the tenth day of Christms my true love gve to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the eleventh day of Christms my true love gve to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the twelfth day of Christms my true love gve to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese ying, five gold rings;
four clling birds, three french hens, two turtle doves
and a partridge in a pear tree.