Guest User

Untitled

a guest
May 19th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #define  DEFAULT  0
  3. #define  BLOCK_COMMENT  1
  4. #define  STRING_COMMENT  2
  5. #define  STRING  3  
  6.  
  7. void main()
  8. {
  9.     int c;
  10.     int mode = 0;
  11.  
  12.     while((c=getchar())!=EOF) {
  13.         switch(mode)
  14.         {
  15.         case DEFAULT:
  16.             if (c == '\"') {
  17.                 mode = STRING;  //...Значит это строка
  18.                 putchar(c); //Печатаем кавычки
  19.             } else if (c == '/') {
  20.                 c = getchar();
  21.                 if (c == '/') mode = STRING_COMMENT;
  22.                 else if (c == '*') mode = BLOCK_COMMENT;
  23.                 else putchar('/'), putchar(c);
  24.             } else putchar(c);
  25.             break;
  26.         case BLOCK_COMMENT:
  27.             if (c == '*') if ((c=getchar()) == '/') mode = DEFAULT;
  28.             break;
  29.         case STRING_COMMENT:
  30.             if (c == '\n') mode = DEFAULT, putchar('\n');
  31.             break;
  32.         case STRING:
  33.             if (c == '\\') putchar(c),putchar(getchar());
  34.             else if (c == '\"') mode = DEFAULT, putchar(c);
  35.             else putchar(c);
  36.             break;
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment