当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 32 篇帖子 ]  前往页数 1, 2, 3  下一页
作者 内容
1 楼 
 文章标题 : 6个变态的C语言写的Hello World
帖子发表于 : 2011-06-12 0:20 
头像

注册: 2011-02-25 23:23
帖子: 3413
送出感谢: 3
接收感谢: 3
:em01
原文:http://cocre.com/?p=914 —— 酷壳

本文仅供朋友们“消遣作乐”,能够看懂是为什么固然不错。看不懂也不必太过认真,如果你要觉得有意思的话,顶顶贴。如果你觉得没什么意思的话,一笑了之。仅供娱乐而已,不必太过认真。

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

输出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 <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:_('\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<<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)<< (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<<1))+((1 <<1)<< (1<<(1>>1
    ))) + (1<<1)); i++) printf("%c",n[i]); }

hello6.cpp

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

    #include  <stdio.h>
    #define _(_) putchar(_);
    int main(void){int i = 0;_(
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++i)_(++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++i)_(++++++++++++++
    i)_(--++i)_(++++++i)_(------
    ----------------------------
    ----------------------------
    ----------------------------
    ----------------------------
    ----------------i)_(--------
    ----------------i)_(++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++i)
    _(----------------i)_(++++++
    i)_(------------i)_(--------
    --------i)_(----------------
    ----------------------------
    ----------------------------
    ----------------------------
    ----------------------------
    ------i)_(------------------
    ----------------------------
    i)return i;}


_________________
The storm of world shall soon vanish
With the days of darknes gone
The sun shall shine upon the ground
To peace shall the world return


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 6个变态的C语言写的Hello World
帖子发表于 : 2011-06-12 0:23 
头像

注册: 2011-02-25 23:23
帖子: 3413
送出感谢: 3
接收感谢: 3
感觉写的很有brainf**k的风格 :em01


_________________
The storm of world shall soon vanish
With the days of darknes gone
The sun shall shine upon the ground
To peace shall the world return


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 6个变态的C语言写的Hello World
帖子发表于 : 2011-06-12 0:25 
头像

注册: 2011-05-15 1:01
帖子: 301
系统: Debian GNU/Linux sid
送出感谢: 1
接收感谢: 17


    最后由 royclark 编辑于 2011-09-01 12:34,总共编辑了 1 次

    页首
     用户资料  
     
    4 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 0:25 
    头像

    注册: 2010-01-28 10:45
    帖子: 19507
    送出感谢: 6
    接收感谢: 41
    :em01


    _________________

    *********宁静致远*********
    如果我说的有什么不对,请看签名第一行


    页首
     用户资料  
     
    5 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 0:35 
    头像

    注册: 2011-02-25 23:23
    帖子: 3413
    送出感谢: 3
    接收感谢: 3
    :em01
    差不多吧


    _________________
    The storm of world shall soon vanish
    With the days of darknes gone
    The sun shall shine upon the ground
    To peace shall the world return


    页首
     用户资料  
     
    6 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 8:49 
    头像

    注册: 2009-01-06 15:18
    帖子: 13005
    地址: 人间
    送出感谢: 1
    接收感谢: 24
    瞧过。。


    _________________
    “有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞


    页首
     用户资料  
     
    7 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 8:51 
    头像

    注册: 2010-10-07 14:23
    帖子: 33999
    地址: 某系某星某洲某国某省某市
    系统: Archdows10
    送出感谢: 29
    接收感谢: 151
    额……


    _________________
    心似浮云常自在,意如流水任东西。
    此事背后一定有个天大的咪咪
    广告:
    1、走过路过,不要错过,dropbox网盘2.25G大放送
    py大法好,退C保平安
    java多妖孽,VB本异端
    日诵一千遍,快活似神仙


    页首
     用户资料  
     
    8 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 10:02 
    头像

    注册: 2009-07-25 1:57
    帖子: 701
    送出感谢: 5
    接收感谢: 13
    这几个思路都是一样的,就是一个个字符挨个打印出来。
    不过就代码本身而言,其实没太多值得研究的地方。这方面的话,那本《短码之美》中的许多例子倒更值得推敲些。这里也有些关于位操作的技巧:
    http://graphics.stanford.edu/~seander/bithacks.html


    _________________
    https://github.com/tangboyun
    http://tangboyun.is-programmer.com/
    提问的智慧————Eric Steven Raymond
    回答的智慧————Andrew Clarke
    吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
    急急急标题什么的,最讨厌了!
    急急复急急,急急何其多,我生待急急,万事急急急。


    页首
     用户资料  
     
    9 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 10:02 
    头像

    注册: 2007-12-14 13:40
    帖子: 49876
    地址: 志虚国乌由市
    系统: Winbuntu
    送出感谢: 29
    接收感谢: 413
    月下叹逍遥 写道:
    额……

    :em01


    _________________
    冷轩信

    渠月 · QY

    本人只会灌水,不负责回答问题

    无聊可以点一下→ http://u.nu/ubuntu


    页首
     用户资料  
     
    10 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 10:57 
    头像

    注册: 2010-10-21 17:55
    帖子: 687
    送出感谢: 5
    接收感谢: 8
    总之,会的还是会,不会的还是不会,木有多大意义


    页首
     用户资料  
     
    11 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 11:54 
    头像

    注册: 2010-04-02 16:44
    帖子: 528
    系统: openSUSE 13.2 x64
    送出感谢: 2
    接收感谢: 11
    月下叹逍遥 写道:
    额……


    _________________
    正在建设中的个人博客


    页首
     用户资料  
     
    12 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 13:54 
    头像

    注册: 2009-07-25 1:57
    帖子: 701
    送出感谢: 5
    接收感谢: 13
    其实酷壳上文章笑点还是很多的,我发现下面这篇和最近几天那则新闻放在一起很有喜感。
    Windows编程革命简史: http://coolshell.cn/articles/3008.html
    Windows 8将Silverlight和.Net打入冷宫?:http://news.mydrivers.com/1/195/195768.htm


    _________________
    https://github.com/tangboyun
    http://tangboyun.is-programmer.com/
    提问的智慧————Eric Steven Raymond
    回答的智慧————Andrew Clarke
    吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
    急急急标题什么的,最讨厌了!
    急急复急急,急急何其多,我生待急急,万事急急急。


    页首
     用户资料  
     
    13 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-12 14:06 
    头像

    注册: 2011-01-20 20:57
    帖子: 2431
    送出感谢: 1
    接收感谢: 2
    为啥还会有**


    _________________
    1、myspace-高达数字实验室
    2、这是好东西啊,戳我一下试试
    3、没米的孩子可以看看SAE云平台


    页首
     用户资料  
     
    14 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-14 12:38 

    注册: 2010-07-11 10:28
    帖子: 26
    送出感谢: 0 次
    接收感谢: 0 次
    :em05


    页首
     用户资料  
     
    15 楼 
     文章标题 : Re: 6个变态的C语言写的Hello World
    帖子发表于 : 2011-06-14 13:06 
    头像

    注册: 2011-01-26 17:52
    帖子: 9013
    地址: 万林丛中的一抹浓绿,夹带落日余晖的安祥
    送出感谢: 0 次
    接收感谢: 0 次
    tangboyun 写道:
    其实酷壳上文章笑点还是很多的,我发现下面这篇和最近几天那则新闻放在一起很有喜感。
    Windows编程革命简史: http://coolshell.cn/articles/3008.html
    Windows 8将Silverlight和.Net打入冷宫?:http://news.mydrivers.com/1/195/195768.htm

    :em09


    _________________
    Just do it, you will succeed!


    页首
     用户资料  
     
    显示帖子 :  排序  
    发表新帖 回复这个主题  [ 32 篇帖子 ]  前往页数 1, 2, 3  下一页

    当前时区为 UTC + 8 小时


    在线用户

    正在浏览此版面的用户:没有注册用户 和 2 位游客


    不能 在这个版面发表主题
    不能 在这个版面回复主题
    不能 在这个版面编辑帖子
    不能 在这个版面删除帖子
    不能 在这个版面提交附件

    前往 :  
    本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
    我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
    人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

    Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
    简体中文语系由 王笑宇 翻译