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 ...
随机推荐
- UVALive 7505 Hungry Game of Ants (2015Ecfinal)
题意: 长度是n的线段上点的编号从1~n,每个点有一只蚂蚁蚂蚁的体重等于该点的编号,最初每只蚂蚁可以选择向右走或者向左走两只蚂蚁相遇时体重大的吃掉体重小的并且体重增加为两只的体重和,走到边界时掉头,问 ...
- nginx启用stream日志配置文件
主配置文件/etc/nginx/nginx.conf增加内容: stream { log_format proxy '$remote_addr [$time_local] ' '$protocol $ ...
- Swarm使用原生的overlay网络
一.Swarm Overlay Network Swarm有Service的概念.一个Service是指使用相同镜像.同时运行的多个容器,多个容器同时一起对外提供服务,多个容器之间负载均衡.每个Ser ...
- ORM choice字段 如何在页面上显示值
核心:obj.get_字段名_display 1.定义module 数据结构: class msg(models.Model): choice = ( (1, '技术部'), (2, '行政'), ( ...
- CSS3 box-sizing:border-box的好处
无论如何改动border,margin与padding的值,都不会导致box总尺寸发生变化.
- Nlog写日志到数据库
https://github.com/nlog/NLog/wiki/Database-Target
- Maximal Rectangle&Largest Rectangle in Histogram
这两天在做leetcode的题目,最大矩形的题目以前遇到很多次了,一直都是用最笨的方法,扫描每个柱子,变换宽度,计算矩形面积,一直都以为就这样O(n2)的方法了,没有想到居然还有研究出了O(n)的算法 ...
- Javascript 常用的工具函数,更新中...
1.时间戳转为格式化时间 /** * 时间戳转为格式化时间 * @Author chenjun * @DateTime 2017-11-10 * @param {[date]} timestamp [ ...
- 多页面应用_vue
vue框架 vue:解决前端大型应用的开发,将之前几十个.几百个.更多的HTML页面,集成为1个HTML页面(当页面应用) jQuery:前端方法库. bootstrap:UI组件库. angular ...
- transform动画效果
transform动画效果 transform :移动,旋转.倾斜.缩放. transform:translate(0,300px); x代表的是水平的偏移距离,y代表垂直的. t ...