C程序的注释用/*...*/来表示。请写一个程序,将输入的C程序源代码中的注释去掉,输出去掉注释之后的源代码。
时间: 2024-03-10 12:50:33 浏览: 31
好的,以下是一个简单的实现,它可以去掉C代码中的注释:
```c
#include <stdio.h>
int main() {
int c, prev;
prev = getchar();
c = getchar();
while (c != EOF) {
if (prev == '/' && c == '*') { // 注释开始
prev = getchar();
c = getchar();
while (prev != '*' || c != '/') { // 跳过注释内容
prev = c;
c = getchar();
}
prev = getchar(); // 读取注释后的字符
c = getchar();
} else { // 非注释内容
putchar(prev);
prev = c;
c = getchar();
}
}
putchar(prev);
return 0;
}
```
这个程序的实现思路是:扫描输入的字符流,当遇到注释 /* 时,跳过注释中的所有字符,直到遇到注释结束符号 */。在跳过注释中的字符时,程序会逐个读取字符,并比对字符是否为注释的结束符号。在跳过注释后,程序会继续读取注释后的字符,输出到标准输出流中。
注意,这个程序只能去掉 /*...*/ 的注释,不能去掉 //... 的注释。如果需要去掉 //... 的注释,可以在程序中加入相应的处理逻辑。