C陷阱与缺陷第一章 词法“陷阱”

1. =不同于==

=为赋值运算,==为比较;

2.&和| 不同于 &&和||

按位运算符&、|, 逻辑运算符&&、||;

3.词法分析中的“贪心法”

    C语言的某些符号,例如/、*、=,只有一个字符长,还有其他符号,例如/*、==,有多个字符。编译器1将程序分解成符号的方法是,从左到右一个字符一个字符地读入,如果判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分;如果可能,继续读入下一个字符,直到读入的字符组成的字符串已不再可能组成一个有意义的符号。这个处理策略有时被称为“贪心法“。

    符号中间不能嵌入空格,例如 y = x/*p   和 y = x / *p 不一样,第一个为赋值语句,/*p为注释;第二个 p为指针,指向除数;

4.字符与字符串

    用单引号‘’引起的一个字符实际上代表一个整数,整数值对应该字符在字符集(比如ASCII字符集)中的序列值。

    用双引号引起的字符串” “代表的是一个指向 数组起始字符 的指针,该数组被双引号之间的字符以及一个字符‘\0’初始化。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值