问题一,
大数相乘,关键要注意防止临时变量溢出.
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类型
其他一些问题忘了,以后更新