首页 | 程式人生 | 原创下载 | 技术文档 | 留言我们 | 关于我们 |
用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); } |
![]()
|