Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on May 19th, 2013  |  syntax: C  |  size: 0.89 KB  |  views: 33  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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.         while((c=getchar())!=EOF) {
  12.                 switch(mode)
  13.                 {
  14.                 case DEFAULT:
  15.                         if (c == '\"') {
  16.                                 mode = STRING;
  17.                                 putchar(c);
  18.                         } else if (c == '/') {
  19.                                 c = getchar();
  20.                                 if (c == '/')
  21.                                         mode = STRING_COMMENT;
  22.                                 else if (c == '*')
  23.                                         mode = BLOCK_COMMENT;
  24.                                 else {
  25.                                         putchar('/');
  26.                                         putchar(c);
  27.                                 }
  28.                         } else putchar(c);
  29.                         break;
  30.                 case BLOCK_COMMENT:
  31.                         if (c == '*' && getchar() == '/')
  32.                                 mode = DEFAULT;
  33.                         break;
  34.                 case STRING_COMMENT:
  35.                         if (c == '\n') {
  36.                                 mode = DEFAULT;
  37.                                 putchar('\n');
  38.                         }
  39.                         break;
  40.                 case STRING:
  41.                         if (c == '\\') {
  42.                                 putchar(c);
  43.                                 putchar(getchar());
  44.                          } else if (c == '\"')
  45.                                 mode = DEFAULT, putchar(c);
  46.                         else putchar(c);
  47.                         break;
  48.                 }
  49.         }
  50. }
clone this paste RAW Paste Data