首页 > 代码库 > C 局部变量引发的一个BUG
C 局部变量引发的一个BUG
代码片断如下:
unsigned char status;status = 0x01;// local zone{ unsigned char status; status = 0x00;}printf("status = %d\n", status);
析:
如果定义一个全局变量A,在局部区域又定义了一次A,那么在局部区域对A修改后,当退出该局部区域后,
A的值还是未进入局部区时的值。如下
BUG描述:
status本用于判断设备运行状态的,结果局部区也定义了status,且把状态值给了局部区的status,
本来status是0x00表示成功的。但在退出局部区后,status又恢复成了原本的0x01表示失败。
这样在上位机显示出了设备异常的提示。
C 局部变量引发的一个BUG
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。