| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1717 人关注过本帖, 2 人收藏
标题:想问大家一个程序自我复制的问题(quine)
取消只看楼主 加入收藏
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
收藏(2)
已结贴  问题点数:20 回复次数:5 
想问大家一个程序自我复制的问题(quine)

 #include<stdio.h>
char *s="#include<stdio.h>%cchar *s=%c%s%c;main(){printf(s,10,34,s,34,10);return 0}%c";main(){printf(s,10,34,s,34,10);return 0;}


上面这个程序执行之后会把自己的代码打印出来,这个问题应该叫做"quine",

网上有这类程序的收集

据说执行

printf(s,10,34,s,34,10);

之后会打印第1,2行

这个printf是怎么一回事??好像很多这类程序都有 10, 34这两个数字

并且字符串s里没有换行符,并且(space都被%c处理了??)

这里%c 又是怎么回事?各种不解?
2012-07-26 22:21
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 3楼 zklhp
好像是的矮
34是引号”
10是换行符

The quieter you become, the more you can hear
2012-07-26 23:08
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 6楼 LShang
原来如此,明白了,非常感谢

The quieter you become, the more you can hear
2012-07-26 23:40
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 5楼 zklhp
没有把字体放大的功能,对不住了

什么时候才能加个能把字体放大的功能啊,

The quieter you become, the more you can hear
2012-07-27 09:54
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 8楼 pangding
看了一下wiki,好想问题确实是从数学里净化来的

The quieter you become, the more you can hear
2012-07-27 09:59
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 13楼 pangding
我也没有深入,只是觉得有趣,就拿来分享一下
在狗狗上搜一下
quine mathematical logic
能出来很多连接

The quieter you become, the more you can hear
2012-07-27 15:08
快速回复:想问大家一个程序自我复制的问题(quine)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027812 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved