--事物的难度远远低于对事物的恐惧!
这个小节,我们来聊下注释,很多人会觉得,注释很简单,没必要讲什么,真的吗?
首先来看看下边的代码,有问题吗?请自行上机编译一下。
#include <stdio.h>
int main()
{
int/*...*/i;
char* s = "abcdefgh //hijklmn";
//Is it a \
valid comment?
in/*...*/t i;
return 0;
}
注释规则:
-编译器在编译过程中使用空格替换整个注释
-字符串字面量中的//和/*...*/不代表注释符
-/*...*/型注释不能被嵌套
小思考: y=x/*p是 什么意思?
作者本意:把x除以 *p的结果赋值给y;
编译器:将/*作为一段注释 的开始,把/*后的内容都当成注释内容,直到*/出现为止。
所以可以改为:y=x/ *p,在/与 *间加空格即可。
总结:
1、注释应该准确易懂,防止二义性,错误的注释有害无利
2、注释是对代码的提示,避免臃肿和喧宾夺主
3、一目了然的代码避免加注释
4、注释用于阐述原因和意图而不是描述程序的运行 过程