C语言-删除注释
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);
}
C语言-删除注释的更多相关文章
- vim的批量注释与删除注释
vim的批量注释与删除注释 方法一:块选择模式 批量注释: Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,Vi ...
- [Swift]LeetCode722. 删除注释 | Remove Comments
Given a C++ program, remove comments from it. The program source is an array where source[i] is the ...
- C#批量删除注释与空行
代码发布时候有的时候需要删除代码注释与空行..方法如下 1.删除注释 方法: 第一步:打开vs2010,使用Ctrl+H快捷键,打开查询替换窗口 第二步:在‘查找选项’中,勾选‘使用’‘正则表达式’ ...
- 强悍的 vim —— 删除空行、删除注释以及加注释解注释
强悍的 vim -- 删除空行.删除注释以及加注释解注释 原文 https://blog.csdn.net/lanchunhui/article/details/51588198 1. 删除空行空行的 ...
- 领扣(LeetCode)删除注释 个人题解
给一个 C++ 程序,删除程序中的注释.这个程序source是一个数组,其中source[i]表示第i行源码. 这表示每行源码由\n分隔. 在 C++ 中有两种注释风格,行内注释和块注释. 字符串// ...
- vim实现批量注释和批量删除注释
批量注释 1.进入文档,vim test.txt 后,按住ctrl+v进入VISUAL BLOCK模式,上下选择需要注释的行 2.按大写键,再按i,或者直接按shift+i,进入INSERT模式,输入 ...
- vim 批量添加删除注释
vim中单行注释只是多行注释的一个特例,这里统一进行多行注释的讲解 (1)添加批量注释 ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i) ...
- Java实现 LeetCode 722 删除注释(暴力筛选)
722. 删除注释 给一个 C++ 程序,删除程序中的注释.这个程序source是一个数组,其中source[i]表示第i行源码. 这表示每行源码由\n分隔. 在 C++ 中有两种注释风格,行内注释和 ...
- 删除注释云平台JS,加快DISCUZ访问
对于港台或者美国服务器的用户可能感觉访问慢,页面卡:实际上是由于 http://www.discuzlab.com/discuz.gtimg.cn/cloud/scripts/discuz_tip ...
随机推荐
- python抓取
我要抓取奥巴马每周的演讲内容http://www.putclub.com/html/radio/VOA/presidentspeech/index.html 如果手动提取,就需要一个个点进去,再复制保 ...
- img、列表和table标签
一.img图片 <body> <a href="https://www.fmtxt.com"> <img src="images/1.jpg ...
- 2017 清北济南考前刷题Day 7 morning
期望得分:100+50+20=170 实际得分:10+50+20=80 1. 纸牌 题目描述 在桌面上放着n张纸牌,每张纸牌有两面,每面都写着一个非负整数.你的邪王真眼可以看到所有牌朝上的一面和朝下的 ...
- C#_事件学习
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- ssh 批量执行命令
# python3.5 + paramiko # pip 是python的包管理工具,在shell里执行如下命令安装paramoko模块 # pip install paramiko # import ...
- ul标签的高度为0
由于项目中使用ul+li的布局方式,在ie8.chrome浏览器中,包裹浮动的li元素的外层ul高度为0,ie7浏览器和ie8兼容模式显示正常,这是典型的浏览器兼容性问题. 解决办法: 第一种:设置u ...
- Postgresql数据库安装中文全文搜索插件zhparser的问题
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...
- 20155330 2016-2017-2 《Java程序设计》第五周学习总结
20155330 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 学习目标 理解异常架构 掌握try...catch...finally处理异常的方法 会用t ...
- pandas 对时间与日期处理
1.先把字符串时间转为时间类型: def func(x): y =pd.Timestamp(x) return y data.index = data.发博时间.apply(lambda x : fu ...
- c# 生成随机N位数字串(每位可以重复)
/// <summary> /// 生成随机数字窜 /// </summary> /// <param name="Digit">位数</ ...