/
delcomment.cpp
55 lines (46 loc) · 892 Bytes
/
delcomment.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
void rcomment(int c);
void in_comment(void);
void echo_quote(int c);
main() {
int c;
while ((c=getchar()) != EOF) //±éÀúÕû¸ö´úÂëÎļþ
rcomment(c);
return 0;
}
void rcomment(int c) {
int d;
if (c=='/') {
if ((d=getchar())=='*')
in_comment();
else if (d=='/') {
putchar(c);
rcomment(d);
} else {
putchar(c);
putchar(d);
}
} else if (c=='\'' || c=='"')
echo_quote(c);
else
putchar(c);
}
void in_comment(void) {
int c, d;
c = getchar();
d = getchar();
while (c!='*' || d!='/') {
c = d;
d = getchar();
}
}
void echo_quote(int c) {
int d;
putchar(c);
while ((d=getchar())!=c) {
putchar(d);
if (d=='\\')
putchar(getchar());
}
putchar(d);
}