用C语言编写一个程序,能够将程序自身显示出来
来源:互联网 发布:java onvif设备发现 编辑:程序博客网 时间:2024/05/05 22:17
用C语言编写一个程序,能够将程序自身显示出来。(程序越短越好)
即:由源程序编译连接生成可执行文件,在源程序已删除的情况下,运行可执行文件,能将源程序的内容显示出来。
如:源程序aaa.c,编译连接生成aaa.exe,然后删除源程序aaa.c,再运行aaa.exe,则在屏幕上显示源程序aaa.c的全部内容,一模一样,包括回车、换行等。
注:要求在没有源程序的情况下,运行可执行文件,能够显示原来源程序的内容。因为没有源程序,可执行文件就无法再读取源程序,另外也不需可执行文件来删除源程序。
(不能使用文件操作来读取源程序)
#include<stdio.h>
main()
{
char *c="#include<stdio.h>%cmain()%c{%cchar *c=%c%s%c;%cprintf(c,10,10,10,34,c,34,10,10);%c}";
printf(c,10,10,10,34,c,34,10,10);
}
这个版本的核心就在于printf的参数上:
大家知道printf第一个参数是个字符串,定义了本次输出的格式,注意其中有一个%s,此处它匹配的参数正好是那个字符串本身,因此达到了把这个字符串输出两次的目的,其他部分只要照着main函数的样子写就行了,注意下不要使用引号和转义字符/,不然会给你带来很大的困扰。
- 用C语言编写一个程序,能够将程序自身显示出来
- 怎样用C语言编写出能够显示汉字的程序
- 编写一个程序,将联系人信息存入文件中并显示出来
- 【C语言】编写一个程序显示当前时间。
- 转:定义一个数组days,将其初始化今年每月的天数,编写一段程序,将每月的天数打印出来, 分类: c语言经典题
- 用C语言编写一个程序将输入的十进制数转化成16进制?
- 编写C语言程序 输出一个菱形
- 用C语言编写一个计算薪水的程序
- 用C语言编写一个输出最大值的程序
- 用c语言链表编写一个学生信息系统程序
- 用 C 语言编写一个单片机流水灯程序
- 用C语言输出自身的程序源码(Quine)
- C语言程序编写
- C语言程序编写
- C语言趣味小程序:打印自身
- 用Shell脚本编写程序,将100以内能被3或7整除的数的和显示出来.
- 汇编语言: 编写一个程序,从键盘输入一个不长于8位的四进制数,并将所输入的数以10进制数 形式显示出来。
- 试编写一个汇编语言程序,大写---小写 要求对键盘输入的大写字母用小写字母显示出来。
- 文件不能删除
- SNMP_PP_CHS Charpter 6 - 7
- 如何截获点击窗口右上角‘X’
- 看上去很美。。。
- Unix Shell 学习总结 -- Unix学习总结之一
- 用C语言编写一个程序,能够将程序自身显示出来
- 最近抽时间写了个文档转化工具DocConvert,支持把任何文档转化为PDF,BMP,JPG,PNG,PCX....
- 获得更好的职业 高效职业发展的七个习惯
- 了解维客模式wiki,联想《集思广益系统》
- ORACLE 专业解决方案商!ORACLE 技术热线!ORACLE价格!ORACLE 代理!
- 自己庆祝一下
- 在线学习
- 将Excel导入到mysql
- .Net2.0_DataList实现分页