今天在看《C和指针》的时候看到了作者提到国际C混乱码大赛这个比赛,觉得很好奇,在网上查了查它的相关资料。。。(毕竟是假期时间- -||)
维基百科如是说:
国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,从1984年开始,每年举办一次(1997年、1999年、2002年、2003年和2006年例外)[1]。目的是写出最有创意的最让人难以理解的C语言代码。从在线提交开始,作品需要经过好几回合的裁判的审核。评判作品的标准是基于滥用混乱代码的程度(以及创造性的滥用的程度)。通过最后一轮审核的作品会被归成特别的一类以示嘉奖,例如“最滥用C预处理器”或者“最古怪的行为”,并且发表在官方IOCCC网站。没有通过的作品则会被删除或遗忘;该赛事主办声明:作品被宣告在IOCCC网站是竞赛的锦标。
接着我就去了传说中的IOCCC膜拜一下这些“混论码”。
duble的作品(2015年第24届)
#include <sys/ioctl.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#define O_o "sfX4.Fv8H!`uf"\
"|~0y'vWtA@:LcO9d}y.!uL!Gd+ml(<+Ds!J"\
"e.6!r!%l6G!n~^<i=%pEwL%P!'<!FQt%u 5toG57j/3"\
"!:E%;!ea!!!WqE0z!f/y}!%!!Qi6!uzt!n}?]!bl!ak!SetR<"\
"Zj$x!~V!n&g8!cK! KrgR'8@c]!%-q9V.3fa[E8X%dY'w!#H <P~6"\
"?guhljL!^P% ?" "8!@dP,!!o+fb"\
"!pv!;!Hm%Ro4" "n:}nkD!Q!kN"\
"e:| 'b5sc!e" /* nothing */
#define mu(a) a a a a a //-
#define O_(Q_ ) "\033[" #Q_
#define Q_(O) mu(mu(mu(O)))
#define Q/*-- ++--*/O9--||(
#define main( )main(){/**/\
signal(13,1), _();}f()//--+
#define k( k) getenv( "D"#k
char*O0=O_o,OO,*Q1,O5[97];int*Q5,_Q=0,Q0=0,_O=0,_0=0,O=5,QQ,O6,Q6,O3
,Q4,O4=41088,O1=sizeof(O5),O7=234;long long __;_()Q_({)int*Q3,Q2,O2,OQ
,QO, O9=O,O8=!!/*OQ*/k(RAFT));long long Q8;char*Q9=O_(1A)O_(%dB)O_(%dC
)O_(34m)"\xe2%c%c\r\n"O_(0m)O_(%dA),*Q7;__+=(__*92+*O0-35-__)*(QO=Q_(!
!)(*O0-33)*!O9--),O0+=O1*QO,QO&&_(),Q Q4&&(O--,_(),O0+=194,O++,Q4--,_(
))),Q O=0,__=0,_(),O=3,_()),Q __&&(_O+=((OQ=__&15)<2)*12+!(QO=OQ&14^2)
*(4-_O)+(OQ==6)*(12-2*_O)+(OQ>6)*(9-(OQ-7)%3),_Q+=!QO*(_Q%QQ+(OQ&1)*O3
-_Q),_0+=!_0*!QO+(1-2*_0)*!(OQ^4),(OQ==5)&&(__>>=4,Q8=__,Q7 =O0,Q4=__&
15,O =1,_()|++O&_ (),O0 =Q7,__= Q8), Q3 =( Q2=(
_Q+= (lrand48() <O4*O1*9) *O8+ (OQ> 5)*((
(2<( _O%=8)%6) -(_O%7< 2))*QQ+( (_O +7)%8<
3)-( _O>4)))/ O3 )* O6+Q5+(O2= _Q %QQ)/2,
*Q3= *Q3 %O4+ O4 |(1<< Q_("@CADBE" "HI")[_Q
%O3/ QQ*2+_Q %2]- 64) *_0,sprintf (O5,Q9,Q2
+=1, O2 /2,* Q3>> 8,* Q3&85*3,Q2) &&_0&&(Q1
=O5, O =8,_() ), Q0+=( O2>Q0)*_0*( O2-Q0 ),
__+= (OQ>12)* (((__ +=!(OQ>9)* (3 -__+(__
>>4) )-3)<<4)+ OQ-3-__ ),usleep (O4 *_0/(3
*O8+ 1)), O=3,_())) ,!O9 --&& read(
1 ,& OO,1)> 0&&(O= (QO=OO ==35 )*3+6 ,_()
,QO&&(OO=10,O=6,_(),1)||(O=4,_()),0)||close(dup2(3-dup2(1,dup(0)-3),1)
*0+2)*0||Q write(1,"> ",2),ioctl(Q0=0,TIOCGWINSZ,O5)^--O&(O3=(QQ=(O6=*
((short*)O5+1))*2)*4),Q6=-O1,Q5=calloc(3*O6,8),_()),Q (O=8,QO=!(O2=OO-
10)|!(Q2=OO-32)*(Q0+58>QQ)|(Q0+12>QQ))&&(Q1=O_(3B),_(),write(1,"> ",2)
),Q0+=!QO*!Q2*4-QO*Q0,O2*Q2&&(!Q0&&(memset(Q5,0,3*O3),Q0=4,Q1="\n\n\n"
O_(3A),_()),O=7,_Q=7*QQ+Q0+2,_O=_0=0,OO+=(OO>64 &OO<91)*32,O0=Q_(O_o)+
O7,_(),(*O0-OO)||(O=2,O0+='a',_( )))),Q *O0-OO)&&(*(O0+=O1)-33)&&(O=0,
_(),O=7,O0+=O1,_()),Q write(0,Q1,strlen(Q1))),Q OO=Q_(O_o)[Q6+=O1],(Q6
%strlen(O_o)-O7)&&(O=6,_(),O=9,_()));Q_(})/*+++++ IOCCC 2015 +++++*/
main()
{
puts("hello world!");
}
二维码??(2014年第23届)
#include<stdio.h>/*IOCCC2014 2014 2014 IOCCC2014IOCCC2014IOCCC201*/
char*s="\"nsu{AntynCnuq}Bnu{ sEot ln>b )+c^g+@`+]_osk{;j@bkg&c<'^o\
r'Q] bh'l vQ^k g&c: %n|\
N]_o ptj9 lwg+ )d:b kg$\
c8#^ #g+)d8`a%g+) d8`_ g&;bh'oq Q^)g +&kcNlyMc+)d 8`a\
`g+@ u)|d8ak=bl}( Q^og (O{MK6lM L(rR pOpM866OsRlm N(q\
Q]## OsR#M_(lQoOa N9$m vOwwRor~ }(cN mkM: q(Q]%_(uU]}_ {8b\
%mRh #S^`#mOaaD%/ RI4$ 4SNH$%N4 RlMG /2MJ 24O3NF(tQ?1l N*N\
+Q]l mq9l8b$^#h$# .d,d xv#mSOPm R8`/ lM;b h&^/lM:k8b%& Q^-\
h%c9 .#,/&N$McPc% -d8, $c8``7:b %^h% :79b $^%$7ON8r%Qr h$Q\
On%q N%O~ M$qN$OMp RmPQ O%rQ $rQ\
MkQN 77O# dj#Nkd$7 O%d8 ``(r RmM\
:(luN](%mRMmO%lNRmO_loa8%%O< b(lQ h'lQ O^ln ;b'%N&O^6sN#M9slltwzh&TmS$'\
%R#ON$oNS&pRM7O$'%S#ON$oNS&p SMd9 ``(t pkO9 $:nk8b#^%}kx#O%lMtpk#OQOP:#\
mR8`}(qQ O<b\
'7M{N^kh 'Q]\
7sN' M8q;k'N_7vN'nSM8 'nR; $%M' TamS&7O#d#7O &d8`z9b$ ^h$\
rQ]6 yN$_$$pQaM8m{px$ TmSt 6O#N sM$nRmUd#7Os d77sNOsd 8`j\
=nk; |8k9 b1g( Q^)$c:%] k*Q]g$9%_h*]+wnS _+sTaa:&%{R\
M<%{ S{O_ &<#w kP8#a;'( 0d:`184>b)^15)OM :23h)QN<'/M\
=b(^'h(Q]0h# c_kah%0d9`b'/O(Q^(/SlM90%M(/ RM;& $c&kckQ, -$c\
.&kccMcOP$&d 9g(=``6:69j=b5g(Q^3(2lNUO<b4 'Q^s ;b&^%%pQ M8k\
$7O#cQ]0(2(Q]'2O 3'Q]'_3a N_1' 5OMaMch&T$mR#nRMPmSk U$7\
O#d8_a%%mS]l_%mR mS]$]h$9 j_la _$6N]g$9j_laaaN:`g'< ``7\
oM:6%N9b%g$Q ^6%N8b%g #Q^l peoqemtemw#jQ7#QO$jQ O7$Q Ok#\
$7OMQ]k_#$7O ckQaOrON epne luelue`lpeoqempepneu e`kf _a`\
lf)) *+,**,*)-)/),0).0(6/2+667,(& $##\
#;=@ D*0;#include<stdio.h>@intYH[ 9`%\
.],*s,*c,d,t;`;'main(`-9n,ch ar*v []){ for(s=c= H+3`XI;\
(*++s=Q[d++]););for(;n>1&&(* ++s= v[1] [tgANs=H ;d=*c++\
%93, d-9; ){in tYv=*s,g []={ n+v, v-n,n*_\
,#^_ ,,<v ,n?v /n:0`,#% `,,v >>n, v==n}ay\
>t=0 ;d<4&&d>=2*! !n&& (c-=d/3*2_KK3+*c++,t||v!=98+d);) t+=v++/6-16\
?0:v /2%3-1cq*d-1 4;t> 0_t$<3_z(105<*c_X'=t*21aq@-106;n =d>76?s--,g\
[d-7 7]:d>55?H_1) 21]= n,*_@_8( 9?*++s_4&12>d_C`f3]+=21-d*2\
:d<3 4?t:_Zadat57 <d?p utchar(n ),v:6<a](g+99]=a{d2#:`xa6,n\
;}re turnY_.",*p, b,d[ 9338 ],*q,x,*r=d; int main(){;for(
p=q= 5000+0+d;*s; s++) if(* s>32)*p++=*s -89?*s:32;for(p=
1152 +q;( b=*p++);){for(d[17]= 10;x =*p++,b<
92&& 34<b --;*r++=x)if(x==9*9) for( ;*q;x=34
)*r++=*q++;for(p-=b<92;b-->4 *23;r++) *r=r[36- x];}puts (d);
return(0);}/*IOCCC2014IOCCC2 014IOCCC 2014IOCC C2014IOC CC*/
在此只举这两个例子了,有时间的话要好好看看这些代码的具体内容了。。。
有兴趣的小伙伴可以自行到IOCCC的官网了解呀