用C实现代码打印自身
#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);
}

