首页 | 程式人生 | 原创下载 | 技术文档 | 留言我们 | 关于我们

用C实现代码打印自身

作者: phanrider        2006-04-07

看到CSDN上要用写打印自身的代码,试着用C写了一个

//====================================
// cp.c Copy Itself Any Num
// Write By Phanrider
// 2006.03.22
// http://www.reddragonfly.org
// ====================================


#include "stdafx.h"
#include "string.h"

void main()
{
int i,j=0;
char b[200]="";
char bb[600]="";
char a[200]="#include \"stdafx.h\" \n#include \"string.h\" \n\nvoid main() \n { \n int i,j=0;\n char b[200]=\"\";\n char bb[600]=\"\";\n char a[200]=";
char c[600]=" for(i=0;i<180;i++) b[i]=a[i]; \n for(i=0;i<180;i++) {a[j]=b[i]; if(b[i]=='\"'||b[i]==0x5c) { a[j+1]=b[i],a[j]=0x5c; j=j+2;} else if( b[i]==0x0a) {a[j+1]='n',a[j]=0x5c; j=j+2;} else j++;} \n j=0; \n for(i=0;i<520;i++) bb[i]=c[i]; \n for(i=0;i<520;i++) {c[j]=bb[i]; if(bb[i]=='\"'||bb[i]==0x5c) { c[j+1]=bb[i],c[j]=0x5c; j=j+2;} else if( bb[i]==0x0a) {c[j+1]='n',c[j]=0x5c; j=j+2;} else j++;} \n printf(\"%s\\\"%s\\\";\\n char c[600]=\\\"%s\\\";\\n%s\\n\",b,a,c,bb);\n}";
for(i=0;i<180;i++) b[i]=a[i];
for(i=0;i<180;i++) {a[j]=b[i]; if(b[i]=='"'||b[i]==0x5c) { a[j+1]=b[i],a[j]=0x5c; j=j+2;} else if( b[i]==0x0a) {a[j+1]='n',a[j]=0x5c; j=j+2;} else j++;}
j=0;
for(i=0;i<520;i++) bb[i]=c[i];
for(i=0;i<520;i++) {c[j]=bb[i]; if(bb[i]=='"'||bb[i]==0x5c) { c[j+1]=bb[i],c[j]=0x5c; j=j+2;} else if( bb[i]==0x0a) {c[j+1]='n',c[j]=0x5c; j=j+2;} else j++;}
printf("%s\"%s\";\n char c[600]=\"%s\";\n%s\n",b,a,c,bb);
}


→返回←

红蜻蜓工作室版权所有
Copyright © 1999-2025 Reddragonfly & Studio All Rights Reserved.
如有任何问题及建议请留言红蜻蜓工作室