天天看点

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

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

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

编译结果如下:

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

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

编译器在编译过程中使用空格代替整个注释

字符串字面量中的 // 和 /*…*/ 不代表注释符号

/*…*/ 型注释不能被嵌套

下面看一个有趣的例子

对于 y = x/*p ,这条语句会是什么意思?

作者的本意向表达的是:把 x 除以 *p 的结果赋值给 y。

编译器不这么认为,编译器把 /* 后面的内容都当作注释,直到 */ 出现为止。

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

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

1、注释应该准确易懂,防止二义性,错误的注释有害无利

2、注释是对代码的提示,避免臃肿

3、一目了然的代码不要注释;不要用缩写注释,避免误解

4、注释用于阐述原因和意图,而不是描述程序的运行过程