【C语言进阶剖析】12、注释符号

1 注释的第一印象

一提起注释,第一印象总觉得注释没有必要深究,注释太简单了,对程序也没什么影响,其实注释是 C 语言的重要工具。

下面看一下下面的注释正确吗?

//12-1.c
#include<stdio.h>
int main(){
    int/*...*/i;
    char* s = "abcdefg    //ijkmn";
    // Is it a\
       valid comment?
    in/*...*/t j;
    return 0;
}

编译结果如下:
在这里插入图片描述

第 4 行被程序认为是 int i;
第 5 行的 “abcdefg //ijkmn” 被看作一个字符串
第 6 行的 \ 叫做换行符,表示此行未结束,所以第七行也视为注释
第 7 行有错误,并不是我们认为的 int j;

说了上面的结果,下面就看看注释的规则吧

2 注释规则

  1. 编译器在编译过程中使用空格代替整个注释
  2. 字符串字面量中的 // 和 /*…*/ 不代表注释符号
  3. /*…*/ 型注释不能被嵌套

下面看一个有趣的例子
对于 y = x/*p ,这条语句会是什么意思?

作者的本意向表达的是:把 x 除以 *p 的结果赋值给 y。
编译器不这么认为,编译器把 /* 后面的内容都当作注释,直到 */ 出现为止。

修改:将 y = x/*p 改成 y = x / *p 即可,也就是在 / 和 * 之间加一个空格。这样就不会被当作注释了。

在编译器看来,注释和其他程序元素是平等的。因此,我们不能轻视注释。

3 小结

1、注释应该准确易懂,防止二义性,错误的注释有害无利
2、注释是对代码的提示,避免臃肿
3、一目了然的代码不要注释;不要用缩写注释,避免误解
4、注释用于阐述原因和意图,而不是描述程序的运行过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值