标题:可打印自身代码的代码
只看楼主
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
 问题点数:0 回复次数:9 
可打印自身代码的代码
代码如下:
程序代码:
#include <stdio.h>
void main()
{
    char *s="#include <stdio.h>%cvoid main()%c{%c%cchar *s=%c%s%c;%c%cprintf(s,10,10,10,9,34,s,34,10,9,10);%c}";

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


/*
 * 注: 10是字符'\n', 34 是字符'"', 9是字符'\t'
 */

[[it] 本帖最后由 hoodlum1980 于 2008-3-19 00:06 编辑 [/it]]
搜索更多相关主题的帖子: 代码 打印 main 字符 include 
2008-03-19 00:03
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
真的呀 !挺神奇的
2008-03-19 00:07
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
批评一点:void main 错
更正后运行,评价:想出来的人很强大
只可惜不是所有代码都可以

[[it] 本帖最后由 雨中飞燕 于 2008-3-19 00:19 编辑 [/it]]
2008-03-19 00:17
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
得分:0 
#include <stdio.h>
void main()
{
    char *s="#include <stdio.h>%cvoid main()%c{%cchar *s=%c%s%c;%c%cprintf(s,10,10,9,34,s,34,10,9,10);%c}";
   
   
    printf("#include <stdio.h>%c",10);
    printf("void main()%c",10);
    printf("{");
    printf("%cchar *s=%c",9,34);
    printf("%s%c;%c%cprintf(s,10,10,9,34,s,34,10,9,10);%c",s,34,10,9,10);
    printf("}");
}
2008-03-19 00:34
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
得分:0 
#include <stdio.h>
void main()
{
    char *s="#include <stdio.h>%cvoid main()%c{%cchar *s=%c%s%c;%c%cprintf(s,10,10,9,34,s,34,10,9,10);%c}";
   
   
    printf("#include <stdio.h>%c",10);
    printf("void main()%c",10);
    printf("{");
    printf("%cchar *s=%c",9,34);
    printf("%s%c;%c%cprintf(s,10,10,9,34,s,34,10,9,10);%c",s,34,10,9,10);
    printf("}");
}
2008-03-19 00:34
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
得分:0 
这网真是够呛...
2008-03-19 00:40
nobush
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2008-1-10
得分:0 
我也来气一气飞燕姐姐~
main(a){a="main(a){a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}
2008-03-19 01:25
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
都用同一个方法就没意思了
2008-03-19 08:20
wrg0709
Rank: 1
来 自:ss
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-12-3
得分:0 
能否解释下里面的每一步骤
char *s="#include <stdio.h>%cvoid main()%c{%c%cchar *s=%c%s%c;%c%cprintf(s,10,10,10,9,34,s,34,10,9,10);%c}";
    printf(s,10,10,10,9,34,s,34,10,9,10);

程序员的日子就是 泡面+电脑+床
2008-03-19 09:44
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
没什么意思...就是一个打印..把%c换上后面的指定的值..都是些回车换行的值

学习需要安静。。海盗要重新来过。。
2008-03-19 09:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-204114-1-1.html




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

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