Fancy Mouse
- -|||
有趣的题。虽然这种代码网上泛滥,但是我还是自己做了一个。这个代码绝对原创哟~~
注意好特殊符号的输出。我为了不用"这个符号输出,加了一堆的cout<<char这种东东。所以代码丑陋的很……不过还是ac了。对了,我还用到一个static int的技巧~~详细的么……自己看代码吧~~void N(char*,char*,char*)的内容和s2的内容一样的~
#include<iostream>
void N(char *a,char *b,char *c){static int t;if(++t<=3){std::cout<<a<<std::endl<<b<<std::endl<<c<<t<<'='<<(char)34<<a<<(char)34<<','<<'*'<<'s'<<t+1<<'='<<(char)34<<b<<(char)34<<','<<'*'<<'s'<<t+2<<'='<<(char)34<<c<<(char)34<<';'<<'N'<<'('<<'s'<<t<<','<<'s'<<t+1<<','<<'s'<<t+2<<')'<<';';t=3;}else std::cout<<'c'<<'h'<<'a'<<'r'<<' '<<'*'<<'s'<<t<<'='<<(char)34<<a<<(char)34<<';'<<a;}
int main(){char *s1="#include<iostream>",*s2="void N(char *a,char *b,char *c){static int t;if(++t<=3){std::cout<<a<<std::endl<<b<<std::endl<<c<<t<<'='<<(char)34<<a<<(char)34<<','<<'*'<<'s'<<t+1<<'='<<(char)34<<b<<(char)34<<','<<'*'<<'s'<<t+2<<'='<<(char)34<<c<<(char)34<<';'<<'N'<<'('<<'s'<<t<<','<<'s'<<t+1<<','<<'s'<<t+2<<')'<<';';t=3;}else std::cout<<'c'<<'h'<<'a'<<'r'<<' '<<'*'<<'s'<<t<<'='<<(char)34<<a<<(char)34<<';'<<a;}",*s3="int main(){char *s";N(s1,s2,s3);char *s4="N(s4,s4,s4);return 0;}";N(s4,s4,s4);return 0;}

再来一个C的
#include<stdio.h>
int main(){char *s="int main(){char *s=%c%s%c;printf(%c#include<stdio.h>%cn%c);printf(s,34,s,34,34,92,34);return 0;}";printf("#include<stdio.h>\n");printf(s,34,s,34,34,92,34);return 0;}
posted on 2005-09-24 13:24  Fancy Mouse  阅读(358)  评论(1编辑  收藏  举报