当前位置:编程学习 > C/C++ >>

IOCCC近几年的获奖作品

 

程序代码

#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);

}

 

 

     程序编译运行后不可思议地打印出一长段超过源代码长度的文字,而这些字串竟然根本没有在源代码中出现过。我知道C代码可以写得很怪,而且看这个程序估计还用了不少递归;但从没有想过还有如此荒唐的源代码,看上去基本上就是乱码。刚才我搜索到,这段代码是IOCCC的一个获奖作品。

 

     IOCCC即International Obfuscated C Code Contest,比谁的C代码写得最乱最读不懂。

     这个比赛已经举办了17年了,下面是近几年的一些获奖作品。

     你可以在http://www.au.ioccc.org/years.html看到更多,但很多需要在Linux环境下编译运行。比较有趣的又能够在windows环境下运行都已经在下面了。

     我们假设你编译后的文件名都是abc.exe。

 

编译后在dos下输入

 

 程序代码

abc "ash nazg durhbatuluhk, ash nazg gimbatul, ash nazg thrakatuluhk, agh burzhumh-ishi krimpatul." >abc.pgm

 

然后用图片编辑器查看abc.pgm

 

 程序代码

                                   #include\

                                   <stdio.h>

                     #include                 <stdlib.h>

                     #include                 <string.h>

                     #define w "Hk~HdA=Jk|Jk~LSyL[{M[wMcxNksNss:"

                   #define r"Ht@H|@=HdJHtJHdYHtY:HtFHtF=JDBIl"\

                   "DJTEJDFIlMIlM:HdMHdM=I|KIlMJTOJDOIlWITY:8Y"

                 #define S"IT@I\\@=HdHHtGH|KILJJDIJDH:H|KID"\

                 "K=HdQHtPH|TIDRJDRJDQ:JC?JK?=JDRJLRI|UItU:8T"

               #define _(i,j)L[i=2*T[j,O[i=O[j-R[j,T[i=2*\

               R[j-5*T[j+4*O[j-L[j,R[i=3*T[j-R[j-3*O[j+L[j,

             #define t"IS?I\\@=HdGHtGIDJILIJDIItHJTFJDF:8J"

     #define y                   yy(4),yy(5),                 yy(6),yy(7)

   #define yy(               i)R[i]=T[i],T[i ]             =O[i],O[i]=L [i]

#define Y _(0           ], 4] )_ (1 ], 5] )_ (2       ], 6] )_ (3 ], 7] )_=1

#define v(i)(       (( R[ i ] * _ + T [ i ]) * _ + O [ i ]) * _ + L [ i ]) *2

double b = 32   ,l ,k ,o ,B ,_ ; int Q , s , V , R [8 ], T[ 8] ,O [8 ], L[ 8] ;

#define q( Q,R ) R= *X ++ % 64 *8 ,R |= *X /8 &7 ,Q=*X++%8,Q=Q*64+*X++%64-256,

# define   p       "G\\QG\\P=GLPGTPGdMGdNGtOGlOG"   "dSGdRGDPGLPG\\LG\\LHtGHtH:"

#   define W         "Hs?H{?=HdGH|FI\\II\\GJlHJ"     "lFL\\DLTCMlAM\\@Ns}Nk|:8G"

# define   U           "EDGEDH=EtCElDH{~H|AJk}"       "Jk?LSzL[|M[wMcxNksNst:"

#   define u                   "Hs?H|@=HdFHtEI"             "\\HI\\FJLHJTD:8H"

char   *   x                   ,*X , ( * i )[               640],z[3]="4_",

*Z = "4,8O4.8O4G" r U "4M"u S"4R"u t"4S8CHdDH|E=HtAIDAIt@IlAJTCJDCIlKI\\K:8K"U

"4TDdWDdW=D\\UD\\VF\\FFdHGtCGtEIDBIDDIlBIdDJT@JLC:8D"t"4UGDNG\\L=GDJGLKHL\

FHLGHtEHtE:"p"4ZFDTFLT=G|EGlHITBH|DIlDIdE:HtMH|M=JDBJLDKLAKDALDFKtFKdMK\

\\LJTOJ\\NJTMJTM:8M4aGtFGlG=G|HG|H:G\\IG\\J=G|IG|I:GdKGlL=G|JG|J:4b"W

S"4d"W t t"4g"r w"4iGlIGlK=G|JG|J:4kHl@Ht@=HdDHtCHdPH|P:HdDHdD=It\

BIlDJTEJDFIdNI\\N:8N"w"4lID@IL@=HlIH|FHlPH|NHt^H|^:H|MH|N=J\\D\

J\\GK\\OKTOKDXJtXItZI|YIlWI|V:8^4mHLGH\\G=HLVH\\V:4n" u t t

"4p"W"IT@I\\@=HdHHtGIDKILIJLGJLG:JK?JK?=JDGJLGI|MJDL:8M4\

rHt@H|@=HtDH|BJdLJTH:ITEI\\E=ILPILNNtCNlB:8N4t"W t"4u"

p"4zI[?Il@=HlHH|HIDLILIJDII|HKDAJ|A:JtCJtC=JdLJtJL\

THLdFNk|Nc|\

:8K"; main (

int C,char**         A) {for(x=A[1],i=calloc(strlen(x)+2,163840);

C-1;C<3?Q=_=       0,(z[1]=*x++)?((*x++==104?z[1]^=32:--x), X =

strstr(Z,z))       &&(X+=C++):(printf("P2 %d 320 4 ",V=b/2+32),

V*

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,