Hello world!

hello1.c (nb的宏替换) 
============================================= 
#define _________ } 
#define ________ putchar 
#define _______ main 
#define _(a) ________(a); 
#define ______ _______(){ 
#define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C) 
#define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F) 
#define ____ _(0x72)_(0x6C)_(0x64)_(0x21) 
#define _____ __ ___ ____ _________ 
#include<stdio.h> 
_____ 

hello2.c (神一般的指针和数组操作…) 
============================================= 

#include<stdio.h> 
main(){ 
int x=0,y[14],*z=&y;*(z++)=0x48;*(z++)=y[x++]+0x1D; 
*(z++)=y[x++]+0x07;*(z++)=y[x++]+0x00;*(z++)=y[x++]+0x03; 
*(z++)=y[x++]-0x43;*(z++)=y[x++]-0x0C;*(z++)=y[x++]+0x57; 
*(z++)=y[x++]-0x08;*(z++)=y[x++]+0x03;*(z++)=y[x++]-0x06; 
*(z++)=y[x++]-0x08;*(z++)=y[x++]-0x43;*(z++)=y[x]-0x21; 
x=*(–z);while(y[x]!=NULL)putchar(y[x++]); 

hello3.c (宏+goto @ @) 
============================================= 

#include<stdio.h> 
#define __(a) goto a; 
#define ___(a) putchar(a); 
#define _(a,b) ___(a) __(b); 
main() 
{ _:__(t)a:_(‘r’,g)b:_(‘$’,p) 
c:_(‘l’,f)d:_(‘ ‘,s)e:_(‘a’,s) 
f:_(‘o’,q)g:_(‘l’,h)h:_(‘d’,n) 
i:_(‘e’,w)j:_(‘e’,x)k:_(‘\n’,z) 
l:_(‘H’,l)m:_(‘X’,i)n:_(‘!’,k) 
o:_(‘z’,q)p:_(‘q’,b)q:_(‘,’,d) 
r:_(‘i’,l)s:_(‘w’,v)t:_(‘H’,j) 
u:_(‘a’,a)v:_(‘o’,a)w:_(‘)’,k) 
x:_(‘l’,c)y:_(‘\t’,g)z:___(0x0)} 

hello4.c (这个还算正常点) 
============================================= 

int n[]={0x48, 
0x65,0x6C,0x6C, 
0x6F,0x2C,0x20, 
0x77,0x6F,0x72, 
0x6C,0x64,0x21, 
0x0A,0x00},*m=n; 
main(n){putchar 
(*m)!=’\0′?main 
(m++):exit(n++);} 

hello5.c (神奇的移位) 
============================================= 

main(){int i,n[]={(((1<<1)<<(1<<1)<<(1<< 
1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))), (((1 
<<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<( 
1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (1 
<<(1>>1))),(((1<<1)<<(1<<1)<<(1<<1)<< (1 
<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1 
<<1)<<(1<<(1>>1)))),(((1<<1)<<(1<<1)<<(1 
<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1 
)))-((1<<1)<<(1<<(1>>1)))),(((1<<1)<< (1 
<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<( 
1<<(1>>1)))-(1<<(1>>1))),(((1<<1)<<(1<<1 
)<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1))) 
-((1<<1)<<(1<<(1>>1)))),((1<<1)<< (1<<1) 
<<(1<<1)),(((1<<1)<<(1<<1)<<(1<<1)<<(1<< 
1))-((1<<1)<<(1<<1))-(1<<(1>>1))),(((1<< 
1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1 
<<1)<<(1<<(1>>1)))-(1<<(1>>1))), (((1<<1 
)<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1 
<<1)<<(1<<(1>>1)))+(1<<1)), (((1<<1)<< ( 
1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1) 
<<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))), 
(((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1 
<<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>> 
1)))), (((1<<1)<<(1<<1) <<(1<<1))+(1<<(1 
>>1))),(((1<<1)<<(1<<1))+((1<<1)<< (1<<( 
1>>1))) + (1<< (1>>1)))}; for(i=(1>>1);i 
<(((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1 
))) + (1<<1)); i++) printf(“%c”,n[i]); } 

hello6.c (这个非常像brainfuck…..) 
============================================= 

#include <stdio.h> 
#define _(_) putchar(_); 
int main(void){int i = 0;_( 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++i)_(++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++i)_(++++++++++++++ 
i)_(–++i)_(++++++i)_(—— 
—————————- 
—————————- 
—————————- 
—————————- 
—————-i)_(——– 
—————-i)_(++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++i) 
_(—————-i)_(++++++ 
i)_(————i)_(——– 
——–i)_(—————- 
—————————- 
—————————- 
—————————- 
—————————- 
——i)_(—————— 
—————————- 
i)return i;}

声明:如未作说明,则本文为 渣滓洞【解旻的博客】 原创。转载务必注明出处
注意:转载须保留全文,如需修改请联系作者

本文永久地址:http://xieminis.me/?p=1