Most confusing C Code

Započeo Marko Аcović, 04.12.2009, 10:16

« prethodna tema - sledeća tema »
Idi dole

Marko Аcović

Jel uspeo neko ovo da iskompajlira: Most confusing C CodeB-)

holodoc

#1
04.12.2009, 12:24 Poslednja Izmena: 04.12.2009, 12:59 od holodoc
Joj gde se ovoga seti?  :D

Ima par grešaka u formatiranju koda na HTML stranici (kod nije stavljen u neki od tagova koji se ne obaziru na formatiranje - recimo <pre>) pa ternarni operatori recimo ne rade kako treba i onda kompajler ili "lipše" ili se dobije potpuno neočekivani rezultat.

Evo prepravljenog koda koji funkcioniše a uz poruku je prikačena i binarna kompajlirana varijanta.

#include <stdio.h>

int main(int t,char _,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);
}

<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php

Marko Аcović

Kolega mi poslao :). Ternarni izrazi jesu dobri ali ipak ne treba preterivati :).  Btw, hvala za pomoc.

holodoc

Ternarni izrazi jesu dobri ali ipak ne treba preterivati :).
Moje neko opšte pravilo je da nikada ali nikada ne ugnježdavam ternarne operatore. Dakle najsloženije što u mom kodu može da se vidi je nešto tipa.
<?php
($uslov) ? 'true blok' 'false blok';
?>


E sad u PHPu ternarni operator je veoma koristan u klasičnim šablonima (templates) ili view komponentama MVC šablona (pattern) gde jako brzo može da se vrši selektivno prikazivanje sadržaja. Evo recimo primera selektivnog stilizovanja elemenata u HTMLu klasičnim putem i ternarnim operatorom.
<?php 
if($_SESSION['loggedIn']){
$display 'block';
} else {
$display 'none'
}
?>

<div style="display:<?php echo $display;?>">Dobrodošli!</div>

A evo alternative sa ternarnim operatorom.
<?php 
echo '<div style="display:'.($_SESSION['loggedIn']) ? 'block' 'none'.'">Dobrodošli!</div>'
?>

Ovaj skraćeni oblik se baš često koristi u klasičnim ručno pisanim PHP šablonima.
<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php

gagi

Postoji jedno zanimljivo takmicenje u kome je cilj napisati sto nerazumljiviji C kod. Odrzava se svake godine. LInk je:
http://www0.us.ioccc.org/
Ako neko ima ideju, neka se prijavi sledece godine.  :)

holodoc

A baš bi voleo da vidim nekoga da se zaposli kao programer ako u svom CV-u navede da piše takav kod :D
<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php

Idi gore