C语言中的注释,不嵌套,一律使用/*   */的形式。不过双引号中的/*  */则不能算是注释。

以下是正确的代码

/*
* ==================================================
*
* Filename: 1-23.c
*
* Description: 删除c风格的注释,读入的数据为.c程序源代码
* copy自The C Answer Book
*
* Version: 0.01
* Created: 2013年09月07日 星期六 10时34分45秒
* Author: HaxtraZ, zchrissirhcz@163.com
* Company: ZJUT
*
* ==================================================
*/
#include 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());
/*这一句是处理转义的单引号或者双引号(由c决定)
* 例如,printf("Nice\"day!");一句,如果不处理,则会进死循环*/
}
putchar(d);
}

  

最新文章

  1. 2、C#面向对象:封装、继承、多态、String、集合、文件(上)
  2. there is issue about change event of checkbox in the ie8 oe ie7
  3. C#读取xlsx文件Excel2007
  4. Oracle创建表时涉及的参数解析
  5. Linux 基本命令(持续更新ing)
  6. file控件change事件触发问题
  7. 我是如何开发一个连锁企业的信息系统的,NO.1
  8. jsp 说明标签
  9. PPAPI插件开发指南
  10. 已知有两个水杯,一个11L一个7L,水可以任意使用,求怎么得到2L 的详细解法
  11. sql 随笔更新
  12. Redis数据持久化、数据备份、数据的故障恢复
  13. [转]来扯点ionic3[7] LocalStorage的使用—以登录和注销为例
  14. css的优先级 和 权重
  15. linux下的route命令
  16. UWP 查找模板中的控件
  17. scikit-learn画ROC图
  18. chrome innerHTML赋值
  19. Android Activity动画属性简介
  20. “全栈2019”Java第二章:安装JDK11(Windows)

热门文章

  1. Kubernetes集群中Service的滚动更新
  2. AAC音频格式详解
  3. [JSOI2007]字符加密Cipher
  4. R6—单变量正态性检验
  5. 【AtCoder Grand Contest 012C】Tautonym Puzzle [构造]
  6. Eclipse中如何调整字体
  7. 【leetcode 简单】 第八十九题 赎金信
  8. Python文件操作-文件的增删改查
  9. 初涉sqlmap
  10. Spring4笔记2--Spring的第一个程序