免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: fangshi
打印 上一主题 下一主题

一个有点恐怖的程序 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-12-10 13:08 |只看该作者
怎么代码中可以看出,putchar是完成输出的,但是putchar(31[a])是什么意思呢?

怎么没有人对这个感兴趣啊?

弄懂了是怎么回事,对自己还是很有帮助的吧.虽然不建议写这样的程序. 但对理解c语言,及其编译的机理还是很有帮助的吧.

论坛徽章:
0
12 [报告]
发表于 2005-12-10 15:19 |只看该作者
呵呵,把源码变了一下形!得到如下结果.
没有发现什么.
只是发现这个递归设计得太好了.

简直不敢相信怎么写出来的.  能给个凑出的思路吗?

#include <stdio.h>
#define FIRST "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
}'+}##(!!/"
#define SECOND "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"
                               
int main(int t, int _, char *a)
{
        int i;
        if(!0<t){
                if(t<3)
                        main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a));
                if(t<_)
                        main(t+1,_,a);
                if(main(-94,-27+t,a)&&t==2){
                        if(_<13)
                                main(2,_+1,"%s %d %d\n");
                }
        }else{
                if(t<0){
                        if(t<-72){
                                main(_,t,FIRST);
                        }   
                        else{
                                if(t<-50)
                                        if(_==*a)
                                        {
                                                putchar(a[31]);
                                        }
                                        else
                                                main(-65,_,a+1);
                                else
                                        main((*a=='/')+t,_,a+1);
                        }
                }
                else{
                        if(0<t)
                                main(2,2,"%s");
                        else if(*a!='/')
                                main(0,main(-61,*a,SECOND),a+1);
                }
        }
}

论坛徽章:
0
13 [报告]
发表于 2005-12-10 15:22 |只看该作者
奇怪的是楼主的代码,在vc下不同时间编译,输出结果总会多出某些单词.
这是为什么呢?
vc的编译器不稳定?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP