#include #define DEFAULT 0 #define BLOCK_COMMENT 1 #define STRING_COMMENT 2 #define STRING 3 void main() { int c; int mode = 0; while((c=getchar())!=EOF) { switch(mode) { case DEFAULT: if (c == '\"') { mode = STRING; putchar(c); } else if (c == '/') { c = getchar(); if (c == '/') mode = STRING_COMMENT; else if (c == '*') mode = BLOCK_COMMENT; else { putchar('/'); putchar(c); } } else putchar(c); break; case BLOCK_COMMENT: if (c == '*' && getchar() == '/') mode = DEFAULT; break; case STRING_COMMENT: if (c == '\n') { mode = DEFAULT; putchar('\n'); } break; case STRING: if (c == '\\') { putchar(c); putchar(getchar()); } else if (c == '\"') mode = DEFAULT, putchar(c); else putchar(c); break; } } }