<C缺陷和陷阱>读书笔记

1、=不同于==

在进行条件判断时:

(1)如果出现if(a == 5)最好写成if(5 == a),因为根据常数不可赋值的性质,如果此时将==写成=,编译器会报错,但是如果按照a==5形式来写,如果将==写成=,编译器不会报错,这样就会永远成立,而且出现错误不易检查;

(2)如果出现if(a==0)或者if(a!=0)时,最好写成if(!a)或者if(a),这样不用出现错误。

(3)如果出现if(ptr==NULL)或者if(ptr!= NULL)时,可以按照(1)中形式来写,若是按照(2)中来写,最好注明是指针变量


2、&不同于&&,|不同于||

&:按位运算符

&&:逻辑运算符

|:按位运算符

||:逻辑运算符


3、当出现y=x/*p时,最好写成y=x/(*p) 或者y = x  /  *p;

因为当/和*连在一起写的时候,被编译器认为是注释的开端和结尾。


4、



*****************************************************************************************************************************************************************************************


2013年5月6日更新


*****************************************************************************************************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值