6个变态的C语言Hello World程序

6个变态的C语言Hello World程序

下面的六个程序片段主要完成这些事情:

  1. 输出Hello, World
  2. 混乱C语言的源代码

下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。

hello1.c

01.      #define _________ }
02.      #define ________ putchar
03.      #define _______ main
04.      #define _(a) ________(a);
05.      #define ______ _______(){
06.      #define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)
07.      #define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
08.      #define ____ _(0x72)_(0x6C)_(0x64)_(0x21)
09.      #define _____ __ ___ ____ _________
10.      #include
11.      _____

 

hello2.c  

01.      #include
02.      main(){
03.        int x=0,y[14],*z=&y;*(z++)=0x48;*(z++)=y[x++]+0x1D;
04.        *(z++)=y[x++]+0x07;*(z++)=y[x++]+0x00;*(z++)=y[x++]+0x03;
05.        *(z++)=y[x++]-0x43;*(z++)=y[x++]-0x0C;*(z++)=y[x++]+0x57;
06.        *(z++)=y[x++]-0x08;*(z++)=y[x++]+0x03;*(z++)=y[x++]-0x06;
07.        *(z++)=y[x++]-0x08;*(z++)=y[x++]-0x43;*(z++)=y[x]-0x21;
08.        x=*(--z); while (y[x]!=NULL) putchar (y[x++]);
09.      }

hello3.c

01.      #include
02.      #define __(a) goto a;
03.      #define ___(a) putchar (a);
04.      #define _(a,b) ___(a) __(b);
05.      main()
06.      { _:__(t)a:_( 'r' ,g)b:_( '$' ,p)
07.        c:_( 'l' ,f)d:_( ' ' ,s)e:_( 'a' ,s)
08.        f:_( 'o' ,q)g:_( 'l' ,h)h:_( 'd' ,n)
09.        i:_( 'e' ,w)j:_( 'e' ,x)k:_( '/n' ,z)
10.        l:_( 'H' ,l)m:_( 'X' ,i)n:_( '!' ,k)
11.        o:_( 'z' ,q)p:_( 'q' ,b)q:_( ',' ,d)
12.        r:_( 'i' ,l)s:_( 'w' ,v)t:_( 'H' ,j)
13.        u:_( 'a' ,a)v:_( 'o' ,a)w:_( ')' ,k)
14.        x:_( 'l' ,c)y:_( '/t' ,g)z:___(0x0)}

hello4.c

01.      int n[]={0x48,
02.      0x65,0x6C,0x6C,
03.      0x6F,0x2C,0x20,
04.      0x77,0x6F,0x72,
05.      0x6C,0x64,0x21,
06.      0x0A,0x00},*m=n;
07.      main(n){ putchar
08.      (*m)!= '/0' ?main
09.      (m++): exit (n++);}

hello5.c

01.      main(){ int i,n[]={(((1<<1)<<(1<<1)<<(1<<
02.      1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))), (((1
03.      <<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(
04.      1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (1
05.      <<(1>>1))),(((1<<1)<<(1<<1)<<(1<<1)<< (1
06.      <<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1
07.      <<1)<<(1<<(1>>1)))),(((1<<1)<<(1<<1)<<(1
08.      <<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1
09.      )))-((1<<1)<<(1<<(1>>1)))),(((1<<1)<< (1
10.      <<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(
11.      1<<(1>>1)))-(1<<(1>>1))),(((1<<1)<<(1<<1
12.      )<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1)))
13.      -((1<<1)<<(1<<(1>>1)))),((1<<1)<< (1<<1)
14.      <<(1<<1)),(((1<<1)<<(1<<1)<<(1<<1)<<(1<<
15.      1))-((1<<1)<<(1<<1))-(1<<(1>>1))),(((1<<
16.      1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1
17.      <<1)<<(1<<(1>>1)))-(1<<(1>>1))), (((1<<1
18.      )<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1
19.      <<1)<<(1<<(1>>1)))+(1<<1)), (((1<<1)<< (
20.      1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1)
21.      <<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))),
22.      (((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1
23.      <<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>>
24.      1)))), (((1<<1)<<(1<<1) <<(1<<1))+(1<<(1
25.      >>1))),(((1<<1)<<(1<<1))+((1<<1)<< (1<<(
26.      1>>1))) + (1<< (1>>1)))}; for (i=(1>>1);i
27.      <(((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1
28.      ))) + (1<<1)); i++) printf ( "%c" ,n[i]); }

hello6.cpp

下面的程序只能由C++的编译器编译(比如:g++)

01.      #include
02.      #define _(_) putchar (_);
03.      int main( void ){ int i = 0;_(
04.      ++++++++++++++++++++++++++++
05.      ++++++++++++++++++++++++++++
06.      ++++++++++++++++++++++++++++
07.      ++++++++++++++++++++++++++++
08.      ++++++++++++++++++++++++++++
09.      ++++i)_(++++++++++++++++++++
10.      ++++++++++++++++++++++++++++
11.      ++++++++++i)_(++++++++++++++
12.      i)_(--++i)_(++++++i)_(------
13.      ----------------------------
14.      ----------------------------
15.      ----------------------------
16.      ----------------------------
17.      ----------------i)_(--------
18.      ----------------i)_(++++++++
19.      ++++++++++++++++++++++++++++
20.      ++++++++++++++++++++++++++++
21.      ++++++++++++++++++++++++++++
22.      ++++++++++++++++++++++++++++
23.      ++++++++++++++++++++++++++++
24.      ++++++++++++++++++++++++++i)
25.      _(----------------i)_(++++++
26.      i)_(------------i)_(--------
27.      --------i)_(----------------
28.      ----------------------------
29.      ----------------------------
30.      ----------------------------
31.      ----------------------------
32.      ------i)_(------------------
33.      ----------------------------
34.      i) return i;}

原文地址 http://cocre.com/?p=914
posted on 2009-08-21 11:50  SunBo 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sunyubo/archive/2009/08/21/2282244.html

你可能感兴趣的:(6个变态的C语言Hello World程序)