<blockquote><font size="1" face="MS Sans Serif, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by Hans Andersen:
const char *p = "\n\nconst char *f(const char *s)\n{\n\tstatic char buf[2000];\n\tint l = strlen(s), j = 0;\n\tfor(int i = 0; i < l; i++)\n\t{\n\t\tchar c = s[i];\n<hr></blockquote>
а вот мое решение (я правда не загружал текст форматированием, т.к. это не принципиально. в конце концов, можно текст набрать неформатированно!

) также я опустил для краткости - сестры таланта - некоторые пункты в cout << ...)
#include <iostream>
using namespace std;
int main()
{
char q = '"';
char* a = "'";
char *s[] = {"char q = ",
"; char* a = ",
"; char *s[] = {",
",",
"};",
"cout << s[0] << ... << s[5];"};
cout << s[0] << a << q << a // char q='"'
<< s[1] << q << a << q // ; char* a="'"
<< s[2] << // ; char *s[] = {
q << s[0] << q << s[3] << // "char q = ",
q << s[1] << q << s[3] << // "; char a = ",
q << s[2] << q << s[3] << // "; char *s[] = {",
q << s[3] << q << s[3] << // ",",
q << s[4] << q << s[3] << // "};",
q << s[5] << q << s[4] << // "cout << ..."};
s[5]; // cout << ...;
return 0;
}
а с printf:
#include <stdio.h>
void main()
{
char q = '"', *a = "'";
char* s = "char q = %s%c%s, *a = %c%s%c; char* s = %c%s%c; printf(s, a, q, a, q, a, q, q, s, q);";
printf(s, a, q, a, q, a, q, q, s, q);
}