找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 23283|回复: 34
打印 上一主题 下一主题
收起左侧

C语言怎么退出while(1)死循环?

  [复制链接]
跳转到指定楼层
楼主
ID:502151 发表于 2019-4-8 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:507395 发表于 2019-4-8 21:55 | 只看该作者
break;
回复

使用道具 举报

板凳
ID:409988 发表于 2019-4-8 22:22 | 只看该作者
while(1)死循环退不出
回复

使用道具 举报

地板
ID:507428 发表于 2019-4-8 22:35 来自手机 | 只看该作者
break;
回复

使用道具 举报

5#
ID:503111 发表于 2019-4-8 22:56 | 只看该作者
你先设置一个变量m=-1,变量m通过外部控制,比如结束数据采集的按键令m=1,在while(1)循环中对m进行判断,当m=1时通过break跳出循环。
回复

使用道具 举报

6#
ID:503111 发表于 2019-4-8 22:57 | 只看该作者
你先设置一个变量m=-1,变量m通过外部控制,比如结束数据采集的按键令m=1,在while(1)循环中对m进行判断,当m=1时通过break跳出循环。
BOOL g_bClose = False;

void SetClose(BOOL bClose) { g_bClose = bClose;}

int main()
{
   while(g_bClose)
   {
        //你的逻辑....
        Sleep(1);
   }
}
回复

使用道具 举报

7#
ID:277550 发表于 2019-4-8 23:19 | 只看该作者
break


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

8#
ID:164602 发表于 2019-4-9 07:56 | 只看该作者
用break啊
这条语句是无条件跳出循环的。不过你可以设置一个条件,条件满足时,用这语句,就出来了
回复

使用道具 举报

9#
ID:213173 发表于 2019-4-9 08:05 | 只看该作者
goto 语句
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
回复

使用道具 举报

10#
ID:449525 发表于 2019-4-9 08:10 | 只看该作者
满足while函数下的某个条件处理后,想跳出,break
回复

使用道具 举报

11#
ID:426861 发表于 2019-4-9 08:56 | 只看该作者
为何想要退出?
回复

使用道具 举报

12#
ID:119810 发表于 2019-4-9 09:05 | 只看该作者
楼上正解,可用break终止循环程序。在do-while、for、while循环语句,都可以应用。
回复

使用道具 举报

13#
ID:507579 发表于 2019-4-9 09:45 | 只看该作者
将while(1)中的1改为一个变量,通过将这个变量的值变为0来跳出while()的循环,也可以采用while(n--)的形式,循环n次后就会停止
回复

使用道具 举报

14#
ID:369819 发表于 2019-4-9 10:00 | 只看该作者
都死循环了肯定是退不出来的,你要设置好循环完成条件或者设置退出条件,最好把代码发上来。
回复

使用道具 举报

15#
ID:503529 发表于 2019-4-9 10:02 | 只看该作者
1.break
2.a=1;
while(a)
{a--;}
3.goto
回复

使用道具 举报

16#
ID:507605 发表于 2019-4-9 10:37 | 只看该作者
也可以通过指针跳到其他地址
回复

使用道具 举报

17#
ID:451718 发表于 2019-4-9 14:59 | 只看该作者
15楼都给你概括完了。
不过作为单片机,还有一个很有特色的功能,就是中断。 你可以在中断中去做while循环以外的事情,然后一层层的嵌套。 等执行完后,自动回到原点,不会让程序跑飞。
回复

使用道具 举报

18#
ID:388197 发表于 2019-4-9 18:44 | 只看该作者
看你想怎么跳了,一般写上while(1)就是无条件死循环,如果循环中碰到故障,可以利用中断检测出来,看门狗大概就是这个道理,不过看门狗一般是类似contiune的功能,要想起到break的功能则需要另外敲点代码.
回复

使用道具 举报

19#
ID:508161 发表于 2019-4-9 19:20 | 只看该作者
break;
回复

使用道具 举报

20#
ID:508163 发表于 2019-4-9 19:20 | 只看该作者
return
回复

使用道具 举报

21#
ID:320872 发表于 2019-4-9 19:34 | 只看该作者
break;
回复

使用道具 举报

22#
ID:467503 发表于 2019-4-10 07:23 来自手机 | 只看该作者
死循环就看门狗复位退出呗
回复

使用道具 举报

23#
ID:52944 发表于 2019-4-10 09:19 | 只看该作者
可以使用while(变量)
回复

使用道具 举报

24#
ID:508876 发表于 2019-4-10 16:15 | 只看该作者
while 会一直运行,用   条件 break;跳出来就行了
回复

使用道具 举报

25#
ID:509044 发表于 2019-4-10 19:16 | 只看该作者
用break;
回复

使用道具 举报

26#
ID:509103 发表于 2019-4-10 20:34 | 只看该作者
直接使用break就退出了
回复

使用道具 举报

27#
ID:479009 发表于 2019-4-11 03:41 | 只看该作者
break;
goto;
return;
exit(0);
throw;//c++
回复

使用道具 举报

28#
ID:230559 发表于 2019-4-11 10:27 | 只看该作者
软件狗复位重来。
回复

使用道具 举报

29#
ID:509901 发表于 2019-4-11 19:23 | 只看该作者
仅仅跳出while循环的话用break;要终止函数的话就用return。
回复

使用道具 举报

30#
ID:509930 发表于 2019-4-11 20:20 | 只看该作者
这个循环应该退不出,把while(1)里的1给改了就能退出了吧
回复

使用道具 举报

31#
ID:474606 发表于 2019-4-11 20:20 | 只看该作者
可以加入一个break语句结束while循环
回复

使用道具 举报

32#
ID:509991 发表于 2019-4-11 20:59 | 只看该作者
满足whlie条件后break就行了
回复

使用道具 举报

33#
ID:510127 发表于 2019-4-12 00:24 | 只看该作者
break;

或者用if()goto
回复

使用道具 举报

34#
ID:510141 发表于 2019-4-12 02:49 | 只看该作者
break; 跳出整个循环
回复

使用道具 举报

35#
ID:510401 发表于 2019-4-12 12:40 | 只看该作者
break;                              
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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