关于删除注释的程序
写面这段程序是用来删除c语言中的注释语句,有处理带引号的字符窜和字符常量的功能,小弟有点看不明白,是怎么删除注释,请指教!/* 标准文档模板 */
#include "Stdio.h"
#include "Conio.h"
void rcomment(int c);
void in_comment(void);
void echo_quote(int c);
main(void)
{
int c,d;
while ((c = getch()) != EOF)
rcomment(c); /* 此处添加你自己的代码 */
getch();
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);
}