循环问题

[复制链接]
1301|8
 楼主| xvezhe 发表于 2013-10-14 10:30 | 显示全部楼层 |阅读模式
本帖最后由 xvezhe 于 2013-10-14 10:37 编辑

uchar c = 1;
uchar tt;
//1ms延时函数
void delayms(uint num)
{
          uint  i,j;
          for(i=num;i>0;i--)
                  for(j=110;j>0;j--);
}

for(tt=0;tt<=3;tt++)
{
         if(A==B)    {c=0;break;}      
         delayms(1000);
}

以上3秒内循环判断写法OK吗?请各位帮忙指点。。。


dirtwillfly 发表于 2013-10-14 10:43 | 显示全部楼层
最好不用这种延时函数,用定时器就比较好
 楼主| xvezhe 发表于 2013-10-14 10:46 | 显示全部楼层
if(A==B)    {c=0;break;}   这样写,正确吗?
 楼主| xvezhe 发表于 2013-10-14 10:47 | 显示全部楼层
dirtwillfly 发表于 2013-10-14 10:43
最好不用这种延时函数,用定时器就比较好


if(A==B)    {c=0;break;}   这样写,正确吗。。。。。。。谢谢指教
 楼主| xvezhe 发表于 2013-10-14 10:47 | 显示全部楼层
dirtwillfly 发表于 2013-10-14 10:43
最好不用这种延时函数,用定时器就比较好


if(A==B)    {c=0;break;}   这样写,正确吗       谢谢指教
dirtwillfly 发表于 2013-10-14 10:50 | 显示全部楼层
xvezhe 发表于 2013-10-14 10:47
if(A==B)    {c=0;break;}   这样写,正确吗       谢谢指教

正确。break是跳出循环
 楼主| xvezhe 发表于 2013-10-14 10:56 | 显示全部楼层
dirtwillfly 发表于 2013-10-14 10:50
正确。break是跳出循环

先执行一个语句后,再执行break,     之前这样写,好像编译出错了,若break前面没有语句,编译就通过
dirtwillfly 发表于 2013-10-14 10:59 | 显示全部楼层
xvezhe 发表于 2013-10-14 10:56
先执行一个语句后,再执行break,     之前这样写,好像编译出错了,若break前面没有语句,编译就通过 ...

不应该啊,你截个图发上来看看
 楼主| xvezhe 发表于 2013-10-14 11:01 | 显示全部楼层
dirtwillfly 发表于 2013-10-14 10:59
不应该啊,你截个图发上来看看

那我改回来试下。。。    谢谢指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

225

帖子

2

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