51uwb.cn

 找回密码
 立即注册
查看: 4320|回复: 0
打印 上一主题 下一主题

代码中做除法避免除0

[复制链接]

73

主题

249

帖子

6843

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6843
跳转到指定楼层
楼主
发表于 2018-11-30 08:08:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

为了管理方便,论坛是邀请制,如果需要注册论坛,点击论坛上方的“店铺”,旺旺联系免费获得邀请码


下面的代码,求多次测量的均值(中间除以1000 是将mm转换成m)
  1. sprintf(dist_str, "an2:%3.2fm", (float)Anthordistance[2]/1000/Anthordistance_count[2]);
  2.         OLED_ShowString(0, 6,"                 ");
  3.         OLED_ShowString(0, 6,dist_str);
复制代码
但是可能遇到的问题是,有个anthor 根本没有回复数据,那么Anthordistance_count[2] 可能是0,今天检查代码发现这个问题,之前程序竟然没有hang


下面才是正确做法,加一个判断
  1. if(Anthordistance_count[1]>0)
  2.     {
  3.         sprintf(dist_str, "an1:%3.2fm", (float)Anthordistance[1]/1000/Anthordistance_count[1]);
  4.         OLED_ShowString(0, 4,"                 ");
  5.         OLED_ShowString(0, 4,dist_str);
  6.     }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-5-14 03:08 , Processed in 0.010881 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表