c陷阱与缺陷学习笔记.docVIP

  • 4
  • 0
  • 约8.23千字
  • 约 13页
  • 2017-08-15 发布于安徽
  • 举报
Chapter 1 词法陷阱 程序中的单个字符孤立起来看并没有什么意义,只有结合上下文才有意义,如p-s = -;两处的-意义 是不同的。 程序的基本单元是token ,相当于自然语言中的单词。 一个token的意义是不会变的。 而组成token 的字 符序列则随上下文的不同而改变。 token之间的空格将被忽略。 1.1 = 不同于 == 1.2 和|不同于和|| 1.3 词法分析中的贪心法 token分为单字符token和多字符token,如/ 和 == ,当有岐义时,c语言的规则是:每一个token应包括 尽可能多的字符。 另外token的中间不能有空白(空格,制表符, 换行符) y = x /*p 应写为y = x / *p 或者y = x / (*p); 老编译器允许用=+来代表现在+=的含义。所以它们会将a=-1理解为a=- 1 即a = (a-1); 它们还会将复合赋值语句看成两个token,于是可以处理 a =1, 而现代的编译器会报错。 1.4 整型常量 常量前加0代表是8进制。 1.5 字符与字符串 用双引号引起的字符串, 代表的是一个指向无名数组起始字符的指针 a+++++b的含义是什么? C不允许嵌套注释。

文档评论(0)

1亿VIP精品文档

相关文档