|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 jianhong_wu 于 2015-11-28 12:25 编辑
阿浩-浙江:
我把类型强制转换了下 还是不行 在我在想想吧, 不用goto的话我的循环有些赋值是浪费的,而这些数据是需要储存在外接rom里面
★坚鸿-深圳:
(1)此处不要用类型强制转换,既然有乘法,要确保if里的变量都是long,预防数据超翻围,至少也应该是int,但建议是long。
(2)与其研究goto,还不如不用goto,我本人从不用goto。在循环体内,配合if用break或continue,完全可以做你想要的任何逻辑程序,完全可以不用goto,用goto可以看出你还停留在汇编语言的编程思维里。
(3)书写时,建议把==左边的一堆加扩号包起来。这样看起来没那么别扭。
阿浩-浙江:
我一直也是这么使用的 但是这次是需要一次跳出2个循环,实在不行在加个条件在跳一次吧. 能解释下为什么是long? 是否是unsigned char*unsigned char =65536,然后我那边还有个加法 编译器就自动转换冲成long?
★坚鸿-深圳:
是的,不能那样,不要妄想编程器自动读懂你的内心,容易出错。 你自己查查每个数据类形的范围,你这种情况建议用unsigned long类型。
阿浩-浙江:
感谢,以前没怎么在意乘法之后的type.
|
|