Alper Akcan : ~/documents/quine

News

Projects

Documents

Contact

RSS Feed

Donations (SF)

 
Quine Example with C
2005-06-09 13:50

$ cat > a.c << EOF
> #define alper(a) char *str = #a; a
> #define akcan(a, b) fonk(a, b, 0);
> alper(int main (int ac, char *a) {
> akcan("#define alper(a) char *str"
> " = #a; a\n#define akcan(a, b) fo"
> "nk(a, b, 0);\nalper(%s)\n", str);
> } int fonk (char * f, char *s, int
> j) { int i; for (i = 0; i < strlen
> (f); i++) { if (f[i] == '%' && f[i
> + 1] == 's' && s != 0) { fonk(s, 0
> , 5); i ++; } else { if (!(f[i] ==
> ' ' && j == 0)) { if (f[i] != '\n'
> ) { putchar(f[i]); j++; } if (j ==
> 34) { putchar('\n'); j = 0; }}}}})
> EOF
$ gcc a.c
$ ./a.out
#define alper(a) char *str = #a; a
#define akcan(a, b) fonk(a, b, 0);
alper(int main (int ac, char *a) {
akcan("#define alper(a) char *str"
" = #a; a\n#define akcan(a, b) fo"
"nk(a, b, 0);\nalper(%s)\n", str);
} int fonk (char * f, char *s, int
j) { int i; for (i = 0; i < strlen
(f); i++) { if (f[i] == '%' && f[i
+ 1] == 's' && s != 0) { fonk(s, 0
, 5); i ++; } else { if (!(f[i] ==
' ' && j == 0)) { if (f[i] != '\n'
) { putchar(f[i]); j++; } if (j ==
34) { putchar('\n'); j = 0; }}}}})



(CL) alper akcan
http://www.valgrind.org   hacker emblem   Valid HTML 4.01!   Viewable With Any Browser   [Valid Rss]   Open Source