总结自己写C的几个小问题

问题一,

大数相乘,关键要注意防止临时变量溢出.
e.g
  大数A x 大数B / 10000      //虽然A和B变量定义的足够大,但AxB的结果会暂存于某个临时变量.临时变量可能溢出.error
  解决方法,(大数A / 10000) x 大数B //临时变量溢出的可能小很多

注:这个问题以前在写LCD驱动的时候遇到的,查了N久也没发现,后来进中断发现的.

问题二,

#define func_eg(a,b,c)  c = a + b; if (c > 9) c == 0

......

if (...)

{                                                   //写的头晕了,后来把{}注释掉了,问题就出来了,哈哈

         func_eg(a,b,c);                //这里宏展开是2句,{}必须加,不然有歧义

}

else

......

注,要保持自己代码的一致性,养成好习惯

问题三,char和unsigned char区别,

ASCII码用char完全够了,而汉字则需要128以上的,需要是unsigned char类型

 

其他一些问题忘了,以后更新
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值