无意当中看到了这样一个问题:

任意选定一个语言写一个打印自身源代码的程序,这个程序不允许读取或者写其他文件的数据,程序必须是完全独立的。

很有趣吧?我正在学习C语言,这个问题是我在查找其他资料时看到的,这激发了我的兴趣,我躺在床上想了很久,没有一点头绪,额,最后抱着认为不大可能实现的想法睡着了······

回到正题,我在网上搜索了有关资料以后,知道了如何去写出这样的一个程序,原理是定义一个关于源代码自身的串string,然后加入把string改写成程序自身的算法编码,最后输出string。由于c语言中有个Printf(),实现这个代码就十分的方便,由于我还不会其他语言,所以只把c的代码贴下:

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

需要注意的一点是,这个代码应该有指明打印的位置与打印多少。

打印自身源代码的程序相关推荐

  1. python 打印自己代码_如何编写一个打印自身源代码的程序

    一个程序,在没有任何外部输入的情况下,打印自身的源代码,这类程序在英文里有一个专门的称呼,叫做Quine,之所以叫这个名字,是为了纪念美国哲学家及逻辑学家Willard Van Orman Quine ...

  2. 超市购物打印小票的简单程序 记录下来

    做了2个版本的超市购物小票打印程序,做过记录 一.C/S样图如下:      其中 输入商品的编码 回车 将会调用该商品的信息,显示在下面的DataGridView中 ,DataGridView中数量 ...

  3. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔

    *6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序.使用下面的方法体编写一个计算税款的方法.使用这个方法编写程序 题目 题目描述 破题 程序清单3-5(非本题):代码不全 补充代码:编 ...

  4. Java黑皮书课后题第2章:2.18(打印表格)编写程序,显示下面的表格,将浮点数值类型转化为整数

    2.18(打印表格)编写程序,显示下面的表格,将浮点数值类型转化为整数 题目 题目描述 代码 方法评价 化繁为简:强制(数据)类型转换 题目 题目描述 2.18(打印表格)编写程序,显示下面的表格,将 ...

  5. Java黑皮书课后题第1章:1.4(打印表格)编写程序,显示以下表格

    这是目录标题 题目 题目描述 题目槽点 代码 代码块 代码评析与赘述 修改日志 题目 题目描述 1.4(打印表格)编写程序,显示以下表格 a a^2 a^3 1 1 1 2 4 8 3 9 27 4 ...

  6. Firefox改变查看页面源代码的程序

    我们使用Firefox火狐浏览器浏览网页时,当我们需要查看页面源代码时,Firefox默认是用他自己的源代码查看程序来显示源代码.由于这个页面查看程序的功能很少,我们可以用其他功能强大的编辑器来查看页 ...

  7. 基于c#条码打印软件源代码 可选择打印机,可选择标签

    基于c#条码打印软件源代码 可选择打印机,可选择标签 标签类容可设置,可变化 ID:86146658054853962

  8. 基于S7-200 PLC和MCGS组态的水箱水位控制系统设计 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释

    基于S7-200 PLC和MCGS组态的水箱水位控制系统设计 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释,组态王源代码,图纸,IO地址分配 ID:7269672992996086Hol ...

  9. 基于组态王和S7-200 PLC的六层电梯8层电梯控制 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释

    基于组态王和S7-200 PLC的六层电梯8层电梯控制 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释,组态王源代码,图纸,IO地址分配 ID:6465675194299424Holly1 ...

  10. python打印空心长方形_Python程序打印空心半菱形星形图案

    给出一个整数N,任务是打印空心半菱形图案.示例:输出:## ## ## ## ## ##输入:7## ## ## ## ## ## ## #### ## ## ## #下半部分:对于下半部分,使用迭代 ...

最新文章

  1. 在 Windows 7 下安装 Hyper-V manager
  2. markdown测试
  3. openssl 开启AES-NI指令集性能增加
  4. linux vim配置缩减,让VIM更好的工作——VIM基本配置
  5. Apple Mach-O Linker Error _sqlite3_exec, referenced from: _sqlite_open, referenced from: _sqlit
  6. PIMPL(private implementation或者pointer to implementation)
  7. 2019电子科大计算机基础知识,电子科技大学820真题1999-2019终极版.pdf
  8. ListT 和DataTable的相互转换
  9. GridView.RowCommand 事件
  10. 【转载】jQuery框架
  11. 关于AVOD, 你需要知道的事
  12. 液晶电视测试软件u盘,突破封锁!用U盘给电视安装APP居然这么简单
  13. 如何清空c盘只剩系统_c盘怎么清理到最干净只保留系统,教你如何给C盘减肥
  14. android课程设计的需求分析,安卓课程设计心得体会.doc
  15. 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等
  16. EXCEL 2013中“定义名称”的命名规则
  17. HTML5实现动态视频背景
  18. Hotel booking -探索性数据分析(EDA)一(seaborn matplot pyecharts)
  19. 在CentOS 6.3中安装拼音输入法 详细出处参考:http://www.jb51.net/os/RedHat/73029.html
  20. 【算法 | 实验18】在字符矩阵中查找给定字符串的所有匹配项

热门文章

  1. spring security +oauth2(授权服务和资源服务分离) 解决getPrincipal只返回用户名的问题
  2. 科学计数法(PAT)
  3. Ubuntu系统字体所在的文件夹的位置。
  4. 2.2、云计算FusionCompute计算虚拟化
  5. JAVA Swing界面美化 -付费界面库
  6. 创业和工作的心态问题
  7. oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
  8. 统计文件中元音字母的数量
  9. Dapper使用技巧和基础CRUD
  10. 串口调试助手源码java_Java串口调试助手工程源码