#include <stdio.h>
char* recurse="#include <stdio.h>%cchar* recurse=%c%s%c;%cint main(){printf(recurse,10,34,recurse,34,10,10);}%c";
int main(){printf(recurse,10,34,recurse,34,10,10);}
原理和Java的是一样的,就是把程序自身以string串的形式输出出来更多
功能和quine(*)一样
这个程序不允许读取或者写其他文件的数据
尤其不能读你的C 文件
程序必须是完全独立的
确实没有读取自己啊,只是打印了一堆string串而已,你是要交密码学的作业吧,我们当时就是这么写的
多谢大师,我们作业还要解释代码,能不能注释一下代码的功能或者解释一下,我看不懂~
引号里面的内容全都是string串:"#include <stdio.h>%cchar* recurse=%c%s%c;%cint main(){printf(recurse,10,34,recurse,34,10,10);}%c";
执行过程如下:
printf方法首先打印第一个参数recurse,一直打印到第一个%c
其中第一个%c表示的是打印main函数中的printf方法的第二个参数10,表示的是换行符
然后接着正常打印到第二个%c,表示printf第三个参数34,表示的是引号
然后是%s,表示的是将recurse完全转化为一个string串然后打印出来(意思就是其中的%c%s等等都变成了string串,而不会执行之前转义符的功能)
然后是第三个%c,同样是34,引号
第四个%c,10,换行符
第五个%c,10,换行符
这么说能明白了吧~
java输入输出程序代码
java输入要用到Scanner类,Scanner来自java.util包,这个包里面有许多常用的工具类,而java输出要用到println类,这个类来自与java.io.PrintStream,这个是最基本的输入和输出。也是最常用的。具体使用方法看下图。
扩展资料:
Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。
Scannerreader=newScanner(System.in);
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。
Scanner的构造器支持多种方式,可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。
你好,开票软件打印显示代码是242203是什么意思?
新版 开票软件下载一下(航天网上都会有),升级安装一下就可以了。
速达3000财务软件打印明细帐页时,如何使各帐页显示科目代码
速达3000财务软件打印明细帐页时,使各帐页显示科目代码需要设置打印样式。如下:
1、先进入软件标准样式,找到样式设计。
2、进入后,相应的增加上科目代码的字段。
3、保存打印样式。
4、再看一下各账页就显示科目代码了。
uv打印机常见的软件报错代码有哪些
uv打印机常见的软件报错代码:
1、出现错误代码:30019(复位运动异常),30020(停止运动异常)等错误代码时,可以通过检查电机模块是否正常,机器连接是否连接正常,如果没有问题重启软件即可;
2、出现错误代码:30022(获取小车位置错误),30023(获取运动状态异常),检查uv打印机是否连接正常,正常情况下冲洗启动软件;30027(获取微喷状态错误),检查配置文件是否正常匹配,是否正常连接,正常情况下重启软件;
3、uv打印机控制软件代码出现30028(打印线程异常错误)。可通过检查配置文件是否匹配,检查打印机是否连接正常,重新启动软件,重新启动硬件;
以上就是咔勒介绍的软件错误代码的一些解决办法,希望能帮助到大家。
求支票打印软件源代码,最好是VB,C#的。功能越全越好,好的话,可以加多少分自己说
标志是QIANJIANG
转载请注明出处51数据库 » 软件打印代码 写一个一个能打印自己代码的C程序
最爱沃尔沃
