網路城邦
回本城市首頁 唐老鴨之家
市長:  副市長:
加入本城市推薦本城市加入我的最愛訂閱最新文章
udn城市資訊科技網路分享【唐老鴨之家】城市/討論區/
討論區C Programming Language 字體:
上一個討論主題 回文章列表 下一個討論主題
可以自我複製的C程式(fprintf版之2)
 瀏覽1,088|回應0推薦0


等級:6
留言加入好友

#include <stdio.h>
#define MAX 30

main() {
 FILE *fo;
 char lf=10 , tab=9, mk=34, *a[MAX];
 int i = 0, j = -1;

 a[i++]="a[i++]=";
 a[i++]="#include <stdio.h>";
 a[i++]="#define MAX 30";
 a[i++]="main() {";
 a[i++]="FILE *fo;";
 a[i++]="char lf=10 , tab=9, mk=34, *a[MAX];";
 a[i++]="int i = 0, j = -1;";
 a[i++]="w";
 a[i++]="out.c";
 a[i++]="fo=fopen(a[8],a[7]);";
 a[i++]="fprintf(fo, ";
 a[i++]="%s%c%s%c%c%s%c%c%s%c%c%s%c%c%s%c%c";
 a[i++]=",a[1],lf,a[2],lf,lf,a[3],lf,tab,a[4],lf,tab,a[5],lf,tab,a[6],lf,lf);";
 a[i++]="while (j++ < 20)";
 a[i++]="%c%s%c%s%c;%c";
 a[i++]=",tab,a[0],mk,a[j],mk,lf);";
 a[i++]="%c%s%c%c%s%c%s%c%s%c%c%s%c%c%s%c%s%c%s%c";
 a[i++]=",tab,a[9],lf,tab,a[10],mk,a[11],mk,a[12],lf,tab,a[13],lf,tab,a[10],mk,a[14],mk,a[15],lf);";
 a[i++]="%c%s%c%s%c%s%c%c%s%c%s%c%s%c%c%s%c}";
 a[i++]=",tab,a[10],mk,a[16],mk,a[17],lf,tab,a[10],mk,a[18],mk,a[19],lf,tab,a[20],lf);";
 a[i++]="close(fo);";
 fo=fopen(a[8],a[7]);
 fprintf(fo, "%s%c%s%c%c%s%c%c%s%c%c%s%c%c%s%c%c",a[1],lf,a[2],lf,lf,a[3],lf,tab,a[4],lf,tab,a[5],lf,tab,a[6],lf,lf);
 while (j++ < 20)
 fprintf(fo, "%c%s%c%s%c;%c",tab,a[0],mk,a[j],mk,lf);
 fprintf(fo, "%c%s%c%c%s%c%s%c%s%c%c%s%c%c%s%c%s%c%s%c",tab,a[9],lf,tab,a[10],mk,a[11],mk,a[12],lf,tab,a[13],lf,tab,a[10],mk,a[14],mk,a[15],lf);
 fprintf(fo, "%c%s%c%s%c%s%c%c%s%c%s%c%s%c%c%s%c}",tab,a[10],mk,a[16],mk,a[17],lf,tab,a[10],mk,a[18],mk,a[19],lf,tab,a[20],lf);
 close(fo);
}

回應 回應給此人 推薦文章 列印 加入我的文摘

引用
引用網址:https://city.udn.com/forum/trackback.jsp?no=58536&aid=2837362