免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2542 | 回复: 9
打印 上一主题 下一主题

一个晦涩的程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-10 23:52 |只看该作者 |倒序浏览
int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\
o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}







我把他弄成这样  



int i;
main ()
{
  for (; i["]<i;++i){--i;}"]; read ('-' - '-', i++ + "hell\
o, world!\n", '/' / '/'));
}

read (j, i, p)
{
  write (j / p + p, i-- - j, i / i);

}

但是   for (; i["]<i;++i){--i;}"];   这句看不懂

我把它理解成这样
   for ( ;   i["]<i  ;  ++i)     {
             --i ;  }
      "]  ----------  还有这个,我不懂了。

高手指教我这只菜鸟

论坛徽章:
0
2 [报告]
发表于 2003-02-11 00:01 |只看该作者

一个晦涩的程序

你那里找来的程序。是不是从网页上截下来的?
如果是那么估计是乱码了。

论坛徽章:
0
3 [报告]
发表于 2003-02-11 11:01 |只看该作者

一个晦涩的程序

你编译一下,可以运行:)  

是特意写成这样的。
非常经典的C程序,ioccc从1984-2000每年的获奖程序全集

http://www1.us.ioccc.org/years.html

论坛徽章:
0
4 [报告]
发表于 2003-02-11 11:32 |只看该作者

一个晦涩的程序

for (; i["]<i;++i){--i;}"]; read ('-' - '-', i++ + "hell\
o, world!\n", '/' / '/'));

这整句是FOR循环的循环条件,其中第一个条件为空,第二个条件为:
i["]<i;++i){--i;}"],这里,第一个[与最后一个]内部成为整个数组下标,而这个数组下标本身是一个字符串(用引号分隔),字符串的内容是]<i;++i){--i;};
第三个条件是:
read ('-' - '-', i++ + "hell\o, world!\n", '/' / '/')
而循环的循环体为空。

不过这个程序确实很奇怪,i是一个int型,却用数组的方式调用,而数组的下标竟然是一个字符串,奇怪。

论坛徽章:
0
5 [报告]
发表于 2003-02-11 11:43 |只看该作者

一个晦涩的程序

其实i["]<i;++i){--i;}"]; 就是一个条件而已!
你可以换成:
i["this program is happy"];

论坛徽章:
0
6 [报告]
发表于 2003-02-11 11:44 |只看该作者

一个晦涩的程序

其中[]中"this program is happy"有多长,就循环多少次!

论坛徽章:
0
7 [报告]
发表于 2003-02-11 12:14 |只看该作者

一个晦涩的程序

懂了 谢谢

以后还能贴这样的帖子吗?
我想这种程序虽然晦涩,怪异,却能加深我们对 C 的理解

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-02-11 13:37 |只看该作者

一个晦涩的程序

将以上的转换一下
这样会看的清楚一些,也就是在指针上做文章。

int i;
read (j, i, p)
{
write (1, i, 1);

}

main ()
{
char * str = "]<i;++i){--i;}";
char * outstr = "hello, world!\n";
for (; str; read (0, outstr + i++, 1));
}

论坛徽章:
0
9 [报告]
发表于 2003-02-12 02:32 |只看该作者

一个晦涩的程序

经典!
听各位讲解才看出来那个终止条件的意思。
自己绝想不出来这样怪异的东东来。

论坛徽章:
0
10 [报告]
发表于 2003-02-12 12:43 |只看该作者

一个晦涩的程序

我们现在还在学习,实现的阶段,老外已经把编程作为一种兴趣了,佩服啊.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP