tlxiaopi 发表于 2016-7-26 09:09

【转载源码】六个变态的Hello Word!(C语言版)

觉得蛋疼,麻烦各位同学顺手来的热心和CB,你们的支持是我最大的动力

下面的六个程序片段主要完成这些事情:输出Hello, World
混乱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<stdio.h>
11   _____
hello2.c
1   #include<stdio.h>
2   main(){
3       int x=0,y,*z=&y;*(z++)=0x48;*(z++)=y+0x1D;
4       *(z++)=y+0x07;*(z++)=y+0x00;*(z++)=y+0x03;
5       *(z++)=y-0x43;*(z++)=y-0x0C;*(z++)=y+0x57;
6       *(z++)=y-0x08;*(z++)=y+0x03;*(z++)=y-0x06;
7       *(z++)=y-0x08;*(z++)=y-0x43;*(z++)=y-0x21;
8       x=*(--z);while(y!=NULL)putchar(y);
9   }
hello3.c01   #include<stdio.h>
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
1   int n[]={0x48,
2   0x65,0x6C,0x6C,
3   0x6F,0x2C,0x20,
4   0x77,0x6F,0x72,
5   0x6C,0x64,0x21,
6   0x0A,0x00},*m=n;
7   main(n){putchar
8   (*m)!='\0'?main
9   (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); }
hello6.cpp下面的程序只能由C++的编译器编译(比如:g++)01   #include <stdio.h>
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;}

imlxw7 发表于 2017-8-10 05:33

走火入魔了                                    

其实是老人 发表于 2017-3-14 12:30

main() {printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);}

潇洒gg 发表于 2016-7-26 09:17

{:301_999:}好6,拿走了

q1391884060 发表于 2016-7-26 09:22

写的牛逼啊。

熊先生 发表于 2016-7-26 09:25

虽然看不懂,但我还是默默的点赞了。。。。。。。。。。。。。

w568888234 发表于 2016-7-26 09:25

退休后打算练毛笔字...helloworld

effort8 发表于 2016-7-26 09:28

直得学习。。。。。。。。。。。

帕秋莉 发表于 2016-7-26 09:29

这是什么?

ANRILEIHEN 发表于 2016-7-26 09:31

膜拜下~~~~~~~~~~~~~~~~~

cam001 发表于 2016-7-26 09:37

完全是一脸懵逼,都是些横线出来hello

yunxiaoyulin 发表于 2016-7-26 09:37

楼主辛苦了,感谢分享,太厉害。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【转载源码】六个变态的Hello Word!(C语言版)