设为首页 加入收藏

TOP

怎么用C程序写出一个能复制自己的程序?
2014-11-23 22:51:35 】 浏览:414
Tags:怎么 程序 写出 一个 复制 自己

复制自己的什么啊?


fork()出来的不是你所要的?
就是复制源程序!
发信人: crazywill (开始努力学习啦), 信区: Programming
标 题: 输出为本身的c程序
发信站: 华南网木棉站 (Thu Dec 12 09:41:48 2002), 转信


发信人: StArGazEr (Wanderer-In-Heavens), 信区: Algorithm
标 题: 输出为本身的c程序
发信站: 南京大学小百合站 (Thu Dec 12 00:23:11 2002)


因为有人提起,以前也曾经注意到过,于是勾起了兴趣,网上收集了一把。
还真不少,这类程序的技巧在于字符串定义时对ASCII为34和10即引号和
回车符的妙用:


1。
char*f="main(){putchar('c');putchar('h');putchar('a');putchar('r');
putchar('*');&
putchar('f');putchar('=');putchar(34);printf(f);putchar(34);
putchar(';');&
putchar(10);printf(f);putchar(10);}";
main(){putchar('c');putchar('h');putchar('a');putchar('r');
putchar('*');putchar('f');&
putchar('=');putchar(34);printf(f);putchar(34);putchar(';');
putchar(10);&
printf(f);putchar(10);}


2。
char*f="char*f=;main(){f[7]=0;printf(f);putchar(34);f[7]=';';
printf(f);&
putchar(34);f[8]=0;printf(&f[7]);f[8]='m';putchar(10);
printf(&f[8]);putchar(10);}";
main(){f[7]=0;printf(f);putchar(34);f[7]=';';printf(f);putchar(34);&
f[8]=0;printf(&f[7]);f[8]='m';putchar(10);printf(&f[8]);
putchar(10);}


3。
char*f="char*f=%c%s%c;%cmain()%c";
main()


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在C#程序中嵌套播放器 下一篇关于网络编程的,cmsghdr的意思?

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目