以下的六个程序片段主要完毕这些事情:
- 输出Hello, World
- 混乱C语言的源码
以下的全部程序都能够在GCC下编译通过,仅仅有最后一个须要动用C++的编译器g++才干编程通过。
hello1.c
1
2
3
4
5
6
7
8
9
10
11
|
#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
1
2
3
4
5
6
7
8
9
|
#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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#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
1
|