C语言while循环无法跳出问题

 我来答
本元斐史辰
2020-04-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:895万
展开全部
while(1){}是死循环,同理while(1);也是死循环
这样可能会比较好理解,for(i=0;i<10;i
){}
循环了10次;for(i=0;i<10;i
);一样循环的了10次,只是后面这个没有执行语句,
while(!ri)
ri取反为真的时候执行,即ri为0的时候执行
这个也是死循环,如果你要跳出循环的话
for(;;)
{
……
……
while(1)
{
.....
if(...)break;
//这里当条件满足后,跳出whil循环,执行test这里的程序
.....
}
test.....
if(...)break;
//同理,这里当条件满足后,跳出for循环,结束死循环,执行for外面的程序
}
这样说是否能理解?
闫绿柳悉丁
2020-04-12 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:27%
帮助的人:947万
展开全部
除非断电,否则单片机都要执行语句。按照你的程序,当j
=
0后,单片机在执行哪条语句?答案是从头来过。所以程序就不可能停止。现在目的是要它停止,但是不能断电,那单片机就得执行语句,给一条不断执行的空语句就OK。在P1=0x00;后加上while(1);,这是一个死循环,单片机就一直停留在while(1);。
注意要加上分号!
试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式