读书人

运行结果是Hello,World! 不是很明白为

发布时间: 2012-03-28 15:40:03 作者: rapoo

运行结果是Hello,World! 不是很明白为什么会这样,请教
#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;}


[解决办法]
耐心点就能看懂。自己模拟编译器去做宏代换,然后就变成了用++i和--i凑putchar的参数。
[解决办法]
#define _(_) putchar(_);
相当于putchar(++或者--i);
int i = 0;
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++i
一直加到H的ACSII码,以下类似。
H:_( ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++i)
e:_(++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++i)
l:_(++++++++++++++ i)
l:_(--++i)
o:_(++++++i)
,:_(------ ---------------------------- ---------------------------- ---------------------------- ---------------------------- ----------------i)
w:_(-------- ----------------i)
o:_(++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ ++++++++++++++++++++++++++i)
r:_(----------------i)
l:_(++++++ i)
d:_(------------i)
!:_(-------- --------i)
换行回车:_(---------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ------i)
_(------------------ ---------------------------- i)

读书人网 >C++

热点推荐