| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1273 人关注过本帖
标题:还是没想通~
只看楼主 加入收藏
小小熊宝宝
Rank: 2
来 自:江苏无锡
等 级:论坛游民
威 望:2
帖 子:183
专家分:38
注 册:2008-8-12
结帖率:100%
收藏
 问题点数:0 回复次数:10 
还是没想通~
程序代码:
main()
{
    char *a="#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}";
    printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
     getch();
}
搜索更多相关主题的帖子: code 
2008-10-04 09:08
小小熊宝宝
Rank: 2
来 自:江苏无锡
等 级:论坛游民
威 望:2
帖 子:183
专家分:38
注 册:2008-8-12
收藏
得分:0 
printf里面的两个a代表了什么,字符型指针里面也有格式控制符么?,通过printf输出么?

欢迎加入C语言交流群:43287755
2008-10-04 09:29
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
呀呀,这不是著名的自打印算法吗?

2008-10-04 09:58
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
LZ仔细看,挺有意思的一个算法...
第一个 a 是printf的格式控制...
第二个 a 是实际要输出的字符串...
字符型指针里面也有格式控制符么?,

printf( a , ... , ... );
相当于:
printf("#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}" , ... , ... );
那些格式控制都是用于printf的...

2008-10-04 10:12
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
补充:
printf(a,10,10,10,9,34,a,34,10,9,10,9,10);
倒数第二个数好像应该是 9 吧...

2008-10-04 10:19
小小熊宝宝
Rank: 2
来 自:江苏无锡
等 级:论坛游民
威 望:2
帖 子:183
专家分:38
注 册:2008-8-12
收藏
得分:0 
慢慢研究,有点深奥,呵呵

欢迎加入C语言交流群:43287755
2008-10-04 13:00
小小熊宝宝
Rank: 2
来 自:江苏无锡
等 级:论坛游民
威 望:2
帖 子:183
专家分:38
注 册:2008-8-12
收藏
得分:0 
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);

能分析下printf中每个都输出了什么,

1、第一个a是格式控制?怎么理解,是一个固定的格式符还是按照程序中定义的?

2、后面一个10,是换行吧,分别是作用在哪里了

3、还有为什么隔开10,10,10,9,34才来一个a呢

4、第二个a就是代表上述程序定义的字符串么,5、包括格式符吗

欢迎加入C语言交流群:43287755
2008-10-04 13:07
netsolo
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2008-3-6
收藏
得分:0 
你把那些数字带入字符串不就成了下面这样了:

printf("#include<stdio.h>\nmain()\n{\n\tchar *a=\"#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}\";\n\tprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);\n\ngetch();\n}");
2008-10-04 13:58
小小熊宝宝
Rank: 2
来 自:江苏无锡
等 级:论坛游民
威 望:2
帖 子:183
专家分:38
注 册:2008-8-12
收藏
得分:0 
第二个a为什么在中间啊

欢迎加入C语言交流群:43287755
2008-10-04 14:46
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
[bo][un]小小熊宝宝[/un] 在 2008-10-4 14:46 的发言:[/bo]

第二个a为什么在中间啊

那是因为你那时候想要输出 a 的内容啊...

2008-10-04 23:13
快速回复:还是没想通~
数据加载中...
 
   



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

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