国际C混乱码大赛

今天在看《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的官网了解呀

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值