1

Summary

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

2)反斜杠'\'是接续符,编译器会将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行

3)字符串里的//和/**/都会被看做斜杠字符,不会作为注释

4)/*..*/注释不能嵌套使用

5)注意

  • 注释用来描述程序的原因和意图,而不是逐步描述语句
  • 注释要避免二义性,避免缩写
  • 注释要精简,避免臃肿

注释

1. 以下注释代码是否正确?

image.png

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

根据以上规定:

  • Line10正确;
  • Line13的输出为“abcd // efgh”;
  • Line15正确,‘\’是一个接续符,把下一行的内容接到上一行去;
  • Line18错误,注释替换成立空格,变成了in t i;
  • Line20错误,/*..*/里不能嵌套

2. 注释用来阐述原因和意图,而不是描述程序的运行过程

反例

int r = n/2;    // r是n的一半

r++;    // 变量r自增1

3. 注释必须无二义性,起到对代码的提示作用,避免缩写

反例

sad = 0x723;    // R.I.P.L.V.B

这一行代码的注释,让人看不明白sad是什么,这个值又是什么意思。

4. 注释是对代码的提示,避免过于臃肿

反例

    /*
        * b.s. 09/11/2021
        * 这段代码这么写很不优雅
        * 代码复杂,且时间、空间复杂度都较高
        * 但我以后会去修改这段代码的
        * 现在这么做因为交付压力较大
        * 一定
    */
   if(xx)
   {
   }
   else
   {
       if(xx)
       {}
       else
       {}
   }

本文总结自“狄泰软件学院”唐佐林老师《C语言进阶课程》。
如有错漏之处,恳请指正。


bryson
169 声望12 粉丝