C程序的注释用/*...*/来表示。请写一个程序,将输入的C程序源代码中的注释去掉,输出去掉注释之后的源代码。
时间: 2024-03-13 18:45:04 浏览: 20
以下是实现将输入的C程序源代码中的注释去掉的代码:
```c
#include <stdio.h>
int main() {
char ch, nextCh;
ch = getchar();
while (ch != EOF) {
if (ch == '/') { // 判断是否遇到注释符号
nextCh = getchar();
if (nextCh == '/') { // 单行注释
while (getchar() != '\n'); // 跳过注释内容
} else if (nextCh == '*') { // 多行注释
ch = getchar();
nextCh = getchar();
while (ch != '*' || nextCh != '/') { // 跳过注释内容
ch = nextCh;
nextCh = getchar();
}
} else { // 不是注释,输出字符'/'
putchar(ch);
ch = nextCh;
}
} else { // 不是注释,直接输出字符
putchar(ch);
ch = getchar();
}
}
return 0;
}
```
这个程序的基本思路是:读入每个字符,判断是否遇到注释符号'/',如果是则根据下一个字符的情况判断是单行注释还是多行注释,然后跳过注释内容;如果不是注释,直接输出字符即可。
需要注意的是,这个程序只能去掉C程序中的注释,而不能去掉字符串中的注释。如果希望去掉字符串中的注释,需要进行更加复杂的处理。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)