- #include <stdio.h>
- void rcomment(int c);
- void in_comment();
- void echo_quote(int c);
- int main()
- {
- int c, d;
- 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);
- fflush(stdin);
- putchar('/n');
- }
- else
- {
- putchar(c);
- putchar(d);
- }
- else if(c == '/'' || c == '/"')
- echo_quote(c);
- else
- putchar(c);
- }
- void in_comment() //处理/*...*/注释
- {
- int c, d;
- c = getchar();
- d = getchar();
- while(c != '*' || d != '/')
- {
- c = d;
- d = getchar();
- }
- }
- void echo_quote(int c) //处理'fajklg'和"fdsjl"情况
- //字符',"只是两个字符,这里不要将"fdsjl"
- //认为是字符串fdsjl,而是字符串"fdsjl"
- {
- int d;
- putchar(c);
- while((d = getchar()) != c)
- {
- putchar(d);
- if(d == '//')
- putchar(getchar());
- }
- putchar(d);
- }
删除C语言程序中所有的注释语句(有疑问)
最新推荐文章于 2021-05-25 11:24:08 发布