打印
[应用相关]

能跳出来吗

[复制链接]
2001|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feiqi1|  楼主 | 2017-11-28 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
while(1)
   {
     if(volsample==20)
     {
       volsample=0;
       break;
     }
   } //当volsample=20时,把它清零,同时跳出while循环。不知道能不能跳出来,因为有break在if语句中。。。volsample是在定时器中断里不停的累加
沙发
androidbus| | 2017-11-28 20:42 | 只看该作者

如果你的volsample在其它地方(中断或其它任务)有引用的话,可以跳出循环。

使用特权

评论回复
板凳
litengg| | 2017-11-28 20:44 | 只看该作者

volsample=0   在其它子程序中有的话就会跳到那个地方,但是while(1)还是不停检测volsample的

使用特权

评论回复
地板
qiangweii| | 2017-11-28 20:45 | 只看该作者
volsample在哪里增1的啊?  

使用特权

评论回复
5
xia00| | 2017-11-28 20:49 | 只看该作者
break;能够跳出的是它所在的第一层循环;LZ的if( )不是循环结构。所以break不作用于if(),
而作用于while(1){ }。

使用特权

评论回复
6
hfdy01| | 2017-11-28 20:49 | 只看该作者

break只能跳出最近的循环体,以我个人之见跳不出的。

使用特权

评论回复
7
CallReceiver| | 2017-11-28 20:53 | 只看该作者
我自己也没有这么用过,break是能跳出最近的一个循环,如果程序要我来维护,我不保证我能准确判断。

使用特权

评论回复
8
boy1990| | 2017-11-28 20:54 | 只看该作者

没问题,在其他任务中设置volsample等于20就可以退出。

使用特权

评论回复
9
sourceInsight| | 2017-11-28 20:58 | 只看该作者

你就是:
while(1){
   if(a){
       if(b){
         if(c){
             break;
         }
     }
   }
}
,只要能运行到break,也啪的一声跑出去了

使用特权

评论回复
10
zhouhuanの| | 2017-11-28 20:59 | 只看该作者
这个要看这段代码在你的全部程序代码中的位置而定吧

使用特权

评论回复
11
handleMessage| | 2017-11-28 21:01 | 只看该作者
continue,break是跳出最近的一层循环,跟if没有关系。不只是while,就是for也照常可以跳出。

使用特权

评论回复
12
598330983| | 2017-11-28 23:36 | 只看该作者
最好用>=20吧。因为可能20那一刻程序没有走到这个位置。

使用特权

评论回复
13
antusheng| | 2017-11-29 18:39 | 只看该作者
条件成立就可以。

使用特权

评论回复
14
huahuagg| | 2017-11-29 19:47 | 只看该作者
没跑一下试试?

使用特权

评论回复
15
kkzz| | 2017-11-29 21:01 | 只看该作者
能够跳出循环。

使用特权

评论回复
16
hudi008| | 2017-11-29 21:01 | 只看该作者
建议楼主使用while循环判断

使用特权

评论回复
17
lzmm| | 2017-11-29 21:02 | 只看该作者
while(volsample <20 )这样不行吗

使用特权

评论回复
18
minzisc| | 2017-11-29 21:02 | 只看该作者
没有问题,这个能够终止while

使用特权

评论回复
19
selongli| | 2017-11-29 21:03 | 只看该作者
break是结束整个循环体

使用特权

评论回复
20
fentianyou| | 2017-11-29 21:03 | 只看该作者
没有问题,能够正常运行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝