Welcome

首页 / 软件开发 / C语言 / 6个变态的C语言写的Hello World

6个变态的C语言写的Hello World2010-06-17 cocre.com 酷壳下面的六个程序片段主要完成这些事情:

输出Hello,World

混乱的源代码(加密源代码,嘿嘿)

下面的所有程序都可以在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 <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

#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:_(" ",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:_(" ",g)z:___(0x0)}