MAGAZINE\SELF.C  ·  C  ·  3 KB  ·  1991-05-13  ·  from PCPlus_Issue-61_October-1991_FluxEngine-360Kb
int x[] = {
'#',
'i',
'n',
'c',
'l',
'u',
'd',
'e',
' ',
'<',
's',
't',
'd',
'i',
'o',
'.',
'h',
'>',
'\n',
'm',
'a',
'i',
'n',
'(',
')',
'\n',
'{',
'\n',
'i',
'n',
't',
' ',
'i',
';',
'\n',
'i',
'n',
't',
' ',
'*',
'y',
'=',
'x',
',',
'*',
'z',
'=',
'x',
';',
'\n',
'\n',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'i',
'n',
't',
' ',
'x',
'[',
']',
' ',
'=',
' ',
'{',
'\\',
'n',
'\'',
'%',
'c',
'\'',
'"',
',',
'*',
'y',
')',
';',
'\n',
'w',
'h',
'i',
'l',
'e',
' ',
'(',
'*',
'+',
'+',
'y',
')',
'\n',
' ',
'{',
'\n',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
',',
'\\',
'n',
'"',
')',
';',
'\n',
' ',
's',
'w',
'i',
't',
'c',
'h',
' ',
'(',
'*',
'y',
')',
'\n',
' ',
' ',
'{',
'\n',
' ',
' ',
'c',
'a',
's',
'e',
' ',
'\'',
'\\',
'n',
'\'',
':',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\'',
'\\',
'\\',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'n',
'\'',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'b',
'r',
'e',
'a',
'k',
';',
'\n',
' ',
' ',
'c',
'a',
's',
'e',
' ',
'\'',
'\\',
'\'',
'\'',
':',
' ',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\'',
'\\',
'\\',
'\'',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\'',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'b',
'r',
'e',
'a',
'k',
';',
'\n',
' ',
' ',
'c',
'a',
's',
'e',
' ',
'\'',
'\\',
'\\',
'\'',
':',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\'',
'\\',
'\\',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\\',
'\\',
'\'',
'"',
')',
';',
'\n',
' ',
' ',
' ',
'b',
'r',
'e',
'a',
'k',
';',
'\n',
' ',
' ',
'd',
'e',
'f',
'a',
'u',
'l',
't',
':',
'\n',
' ',
' ',
' ',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\'',
'%',
'c',
'\'',
'"',
',',
'*',
'y',
')',
';',
'\n',
' ',
' ',
' ',
'b',
'r',
'e',
'a',
'k',
';',
'\n',
' ',
' ',
'}',
'\n',
' ',
'}',
'\n',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
',',
'\\',
'n',
'\'',
'\\',
'\\',
'0',
'\'',
'}',
';',
'\\',
'n',
'"',
')',
';',
'\n',
'\n',
'w',
'h',
'i',
'l',
'e',
' ',
'(',
'*',
'z',
' ',
'!',
'=',
' ',
'0',
')',
'\n',
' ',
'p',
'u',
't',
'c',
'h',
'a',
'r',
'(',
'*',
'z',
'+',
'+',
')',
';',
'\n',
'}',
'\n',
'\0'};
#include <stdio.h>
main()
{
int i;
int *y=x,*z=x;

printf("int x[] = {\n'%c'",*y);
while (*++y)
 {
 printf(",\n");
 switch (*y)
  {
  case '\n':
   printf("'\\");
   printf("n'");
   break;
  case '\'': 
   printf("'\\'");
   printf("'");
   break;
  case '\\':
   printf("'\\");
   printf("\\'");
   break;
  default:
   printf("'%c'",*y);
   break;
  }
 }
printf(",\n'\\0'};\n");

while (*z != 0)
 putchar(*z++);
}