C陷阱与缺陷读书笔记(第1章)词法“陷阱”

来源:互联网 发布:.net数据库开发 编辑:程序博客网 时间:2024/06/05 21:12

1.当确实需要对变量进行赋值,并检查该变量的新值是否为0时,为了避免编译器的警告,应该显示的进行比较。

如:

if(x=y)

改成if((x=y)!=0)

2.=是赋值语言富

 ==是作为比较

3.在写

y=x/*p的时候,注意一定要将 /*号分开 /   *    这样就不会翻印成注释语句。

4.如果一个整型常量的第一个字符是数字0,那么该常量将被视作八进制数。

5.编译器读取的时候,都是一次从左往右 一次读取一个最大有意义的串.这样的策略称为贪心法。

6.用单字符引起的一个字符实际上代表了一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

  用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制为零的字符'\0'初始化。

7.‘yes’允许一个字符常量包括多个字符,但是在vc++6.0的策略是采用最后一个字符的整数。

8.在双引号括起的字符串中,注释符/*属于字符串的一部分。而在注释中出现的双引号"" 又属于注释的一部分


a+++++b的含义是  a ++   ++ +b则不能通过编译。因为a++不能作为左值。




0 0