[C语言] char型变量超范围,晚上调了一晚才发现...各位都是咋预防这个

[复制链接]
1989|6
 楼主| wjt_tyy 发表于 2014-4-25 23:22 | 显示全部楼层 |阅读模式
....................智商**了.我改一个网上下载的驱动,没注意他所有变量都是char型,结果各种奇怪现象,最后倒回去查,发现char型超范围了..
请问以后我函数里的局部变量都写成char型会有啥坏处吗?为啥局部变量也那么多人用char型呢?
ayb_ice 发表于 2014-4-26 06:52 来自手机 | 显示全部楼层
这是由需求,现实共同决定的

如果是32位机推荐局部变量用32位的,
但如果是8位机,局部变量都用32位,速度明显下降
 楼主| wjt_tyy 发表于 2014-4-26 16:25 | 显示全部楼层
xuyaqi 发表于 2014-4-26 18:08 | 显示全部楼层
在设计与检查程序时这是最基本的问题
你猜我是虎 发表于 2014-11-10 23:01 | 显示全部楼层
由于C51不怎么好,我只能从C语言出发去理解并说下自己的看法。
在C语言里面,数据的类型是可以从小到大进行转换的,由于char在以前是最小的,所以在不确定的情况下,用char是比较保险的。我不晓得C51里面是否允许类型转换=-=
qqljhang 发表于 2014-11-11 21:59 | 显示全部楼层
不考虑速度的话,    用char只要不溢出,是没问题的呀
泰山特曲123 发表于 2014-11-11 23:18 来自手机 | 显示全部楼层
可能你在网上下的程序是用于8位机的。另外不要用char应该用signed char或unsigned char指定是有符号数还是无符号数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部