OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3962|回复: 2

return 用法 求助

[复制链接]

13

主题

35

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
270
金钱
270
注册时间
2013-4-22
在线时间
2 小时
发表于 2015-1-29 17:23:18 | 显示全部楼层 |阅读模式
5金钱




麻烦大家帮忙看看 这段程序中     底下这段程序有执行的机会吗?

 if(diff == 0)
{
index_new = (uint8_t *)&(m_m2w_mcuStatus.status_r); //?ì??????????????
index_old = (uint8_t *)&(m_m2w_mcuStatus_reported.status_r);

for(i=0; i<sizeof(status_readonly); i++)
{
if(*(index_new+i) != *(index_old+i)) diff += 1;
}
}

我的理解是 当   check_status_time   计数次数<200 的时候  直接跳出该函数,往下不执行了,当=200的时候,往下执行, 到第一个For循环结束,  diff已经不为0了,那 下面那个 if(diff == 0)  也就不成立了,没法执行了???????没有执行的机会??



最佳答案

查看完整内容[请看2#楼]

return条件满足后,后面就不执行,你不放心可以用if括起来后面的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2015-1-29 17:23:19 | 显示全部楼层
return条件满足后,后面就不执行,你不放心可以用if括起来后面的
博观而约取,厚积而薄发。
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2015-1-30 10:10:01 | 显示全部楼层
第一个for循环结束,diff完全有可能是0,因为diff+=1是有条件的,如果条件一直不成立,那diff 就还是初值0
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 06:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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