|
谁说我们编程序一定要遵循一定的编码规则?你是否使用过“匈牙利命名法”,“GNU coding style”,“Linux kernel coding style”。它们都说自己的方式好,别人的不好。但是看看 IOCCC 大赛的程序,你就知道最糟糕的编码规则也能写出很好的程序。
看看IOCCC(混乱c程序大赛)的比赛宗旨:
1.在遵守下面规则的前提下,写出最混乱,最让人看不明白的C程序。
2.用讽刺的手法显示编程风格的重要性。
3.用反常的代码加重编译器的负担。
4.演示C语言的不让人注意的地方。
5.为糟糕的C代码提供避难所。
附件是历年 IOCCC 程序大赛的所有代码源程序(1984-2000)。
先给大家看个例子,看看什么是国际水平的混乱代码:
#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+K w'K:'+}e#';dq#'l q#'+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#' i; :{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);}
拷去编译一下,你会发现这是一首英文歌的歌词。 |
|