不要温和的走进那个良夜
Do not go gentle into that good night

变态C语言以及解析2

这是第二篇文章了,也是感觉这个比较有意思。

hello6.cpp

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

  1. #include <stdio.h>   
  2. #define _(_) putchar(_);   
  3. int main(void){int i = 0;_(   
  4. ++++++++++++++++++++++++++++   
  5. ++++++++++++++++++++++++++++   
  6. ++++++++++++++++++++++++++++   
  7. ++++++++++++++++++++++++++++   
  8. ++++++++++++++++++++++++++++   
  9. ++++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;}  

咋看上去不知道是神马意思,不过大概数数看刚好14个括号,又因为有#define _(_) putchar(_);【;也算哦】我记得结果也是hello world!0.0

刚重装系统了也木有CPP编译环境,只能一个一个猜了(还有两个是神马意思啊)反正是输出了的,只是这输出的是啥啊++——的,我随便猜了一下前面几个hell…这里两个ll是突破口,因为是一样的,于是我们也显而易见的看到这样一段_(–++i)

嗦嘎!看来猜想是对的,于是耐下性子数了一遍第一个

  1. _(
  2. ++++++++++++++++++++++++++++
  3. ++++++++++++++++++++++++++++
  4. ++++++++++++++++++++++++++++
  5. ++++++++++++++++++++++++++++
  6. ++++++++++++++++++++++++++++
  7. ++++i)

14*5+2=72 这个数字?!看看ascii 结果是H….是不是已经?

看第二个72+29=101…..e

第三、四个个101+7=108……ll

第五个111……o

第六个111-3-4*14-8=44…….   ,原来是逗号

第七个44-12 = 32  为空格

。。。好啦后面的就都可以推出啦。。。很有意思,不过想到了就觉得很简单了,但是不得不佩服作者的想法

赞(0)
未经允许不得转载:林枫紫涵 » 变态C语言以及解析2

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    我晕,练习数数了

    欣欣5年前 (2013-07-24)回复
    • @欣欣: 😀 也可以说练习打字、

      admin5年前 (2013-07-24)回复