2014-01-21 回答
输出hello, world
混乱c语言的源代码(加密源代码,嘿嘿)
下面的所有程序都可以在gcc下编译通过,只有最后一个需要动用c++的编译器g++才能编程通过。
hello1.c
#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
_____
hello2.c
#include
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
#include
#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)))}; for(i=(1>>1);i
>1
))) + (1<<1)); i++) printf("%c",n[i]); }
hello6.cpp
下面的程序只能由c++的编译器编译(比如:g++)
#include
#define _(_) putchar(_);
int main(void){int i = 0;_(
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++i)_(++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++i)_(++++++++++++++
i)_(--++i)_(++++++i)_(------
----------------------------
----------------------------
----------------------------
----------------------------
----------------i)_(--------
----------------i)_(++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
++++++++++++++++++++++++++i)
_(----------------i)_(++++++
i)_(------------i)_(--------
--------i)_(----------------
----------------------------
----------------------------
----------------------------
----------------------------
------i)_(------------------
----------------------------
i)return i;}